Python写入换行后无法打开.docx文件问题咨询
问题原因及解决办法
原因
你用open('mydoc.docx','w')操作Word文档时,w写入模式会直接清空原文件的所有内容,然后写入纯文本hello\n。但docx不是纯文本格式,它本质是一个包含XML、媒体文件等的压缩包,被纯文本覆盖后,原有的文档结构完全被破坏,Word无法识别损坏的结构,所以弹出报错:Word尝试打开文件时遇到错误。
解决办法
- 要操作docx文件,必须用专门的文档处理库,比如
python-docx:- 先安装库:
pip install python-docx - 创建新docx并写入内容的代码:
from docx import Document doc = Document() doc.add_paragraph("hello") doc.save("mydoc.docx") - 给已有docx追加内容的代码:
from docx import Document doc = Document("mydoc.docx") doc.add_paragraph("hello") doc.save("mydoc.docx")
- 先安装库:
- 如果只是测试基础文件操作,改用txt格式文件即可,你的原代码对
mydoc.txt这类纯文本文件完全有效。
内容的提问来源于stack exchange,提问作者ichino
相关产品推荐
相关产品推荐

