如果只是替换段落文字,可以参考下面方法。
#定义函数替换段落中的字符
def info_update_para(doc,old_info, new_info):
import docx
for para in doc.paragraphs: #遍历段落
para.text = para.text.replace(old_info, new_info) #替换
doc = docx.Document('替换前.docx')
info_update_para(doc,"第四次", "第五次")
info_update_para(doc,"2019", "2020")
info_update_para(doc,"18", "10")
doc.save('替换后_段落.docx')
如果是需要替换里面的图片
可以用压缩包打开word文档,找到word/media文件夹,查看里面需要替换的图片文件,然后记住名字,删除。
然后使用下面的方法打开压缩包并加入图片,arcname是指定压缩包里面的文件名称。
with ZipFile('template.docx', 'a') as myzip:
myzip.write(filename, arcname=None, compress_type=None, compresslevel=None)
附python3 zip操作手册https://docs.python.org/zh-cn/dev/library/zipfile.html