我在 .docx 文档中进行了搜索和替换功能。我使用模块 python-docx:
# -*- coding: utf-8 -*-
from docx import *
document = opendocx('test.docx')
TAG_LIST=[u'TAG1',u'TAG2',u'TAG3']
VALUE_LIST=[u'TEST1',u'TEST2',u'TEST3']
def search(document):
result = False
for element in document.iter():
if element.text == '{':
result=True
if result and element.text != '}':
for i in range(0,len(TAG_LIST)):
if element.text == TAG_LIST[i]:
element.text=re.sub(TAG_LIST[i], VALUE_LIST[i], element.text)
print(element.text)
search(document)
此函数在 中查找文档标签{}
,用 a 验证它们TAG_LIST
并替换为VALUE_LIST
。我想element.text
在re.sub
功能后保存,但不知道该怎么做。我知道可以读取 的整个文本document.xml
,然后进行替换,但是将文本加载到缓冲区会花费大量内存。任何想法如何做到这一点?