Isso não tem nada a ver com as permissões do sistema de arquivos Linux, mas é apenas um erro sintático em seu código.
Veja a última linha:
document.save=(source_path+name+'/correspondence/initial.docx')
Isso faz com que o intérprete tente atribuir a string produzida por source_path+name+'/correspondence/initial.docx'
à variável de objeto save
do objeto document
.
Isso é proibido, porque document.save
está protegido contra sobrescrevê-lo, o que não faria sentido a propósito.
O que você quer, em vez disso, é chamar a função com a string como argumento!
Para fazer isso, você só precisa remover o símbolo =
:
document.save(source_path+name+'/correspondence/initial.docx')
Mais documentação para docx.Document.save
pode ser encontrada aqui .