python编程,将一个docx文件中所有‘a’替换为‘b’,然后保存为zip格式,解压之后可以看到处理后的结果

如题所述

第1个回答  2014-04-21
# -*- coding: utf-8 -*-
#!/usr/bin/env python

import docx
import zipfile
from StringIO import StringIO

from processing_units.xml_processing_unit import XmlProcessingUnit
import doc_utils

if __name__ == '__main__':
m = docx.opendocx('e:/test.docx')
p = XmlProcessingUnit('docx')
process = p.process(m)

zfile = zipfile.ZipFile('e:/test.docx')
out_docx_file = StringIO()
doc_utils.save_docx(zfile, process, out_docx_file)

out_txt_file = StringIO()
doc_utils.docx_to_txt(out_docx_file, out_txt_file)

'''
out_file = StringIO()
with zipfile.ZipFile(out_file, 'w', compression=zipfile.ZIP_DEFLATED) as f:
f.writestr('test123.docx', out_docx_file.getvalue())
#f.writestr('%s.txt' % out_file, out_txt_file.getvalue())
'''
zfile2 = zipfile.ZipFile('e:/test.zip', 'w', zipfile.ZIP_DEFLATED)
zfile2.writestr('test.docx', out_docx_file.getvalue())
#zfile2.writestr('test.txt', out_txt_file.getvalue())

#result = out_file.getvalue()
#print result

out_docx_file.close()
out_txt_file.close()
#out_file.close()
中间缺少一个函数,这个自己找吧本回答被提问者采纳
第2个回答  2014-04-19
https://github.com/mikemaccana/python-docx
这个是处理doc的一个模块,可以提取doc中的内容和根据特定格式生成doc。zip用自带zipfile模块。
相似回答