Answer the question
In order to leave comments, you need to log in
How to replace a certain string with another in a .docx file?
Everything is as in the title - you need to take a .docx document and change certain words in it to those previously entered by the user.
import docx
doc = docx.Document('F://PythonProjects//Trash//example.docx')
paras = doc.paragraphs
name = input()
for para in paras:
para = para.text.split(' ')
for word in para:
//'NAME,' - строка в исходном файле
if word == 'NAME,':
word = name + ','
para = ' '.join(para)
Answer the question
In order to leave comments, you need to log in
In ignorance of the python, of course.
In Python, a variable is nothing more than a reference to an object. Accordingly, if you assigned a variable a reference to another object, the first object will not change from this.
for para in paras: # имя para указывает на объект - элемент списка doc.paragraphs
para = para.text.split(' ') # имя para указывает на список строк, старая ссылка потеряна.
for word in para: # имя word указывает на элемент из списка - строку
//'NAME,' - строка в исходном файле
if word == 'NAME,':
word = name + ',' # имя word теперь указывает на другую строку. Список от этого не изменился.
para = ' '.join(para) # имя para теперь указывает на строку, ссылка на список потеряна
# а список doc.paragraphs от присваивания выше тоже никак не изменится,
# так как он ничего не знает об операциях с para.text
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question