使用pathlib写入Word文档后打开报错该如何解决?
问题根本原因
- docx 不是纯文本格式,属于微软定义的 OOXML 结构化格式,本质是包含 XML 描述文件、资源文件的 ZIP 压缩包,不能直接通过普通文本写入的方式生成合法的 docx 文件
- 你当前的代码实际生成的是 UTF-8 编码的纯文本文件,只是强行改了后缀为 docx,Word 无法识别不符合规范的压缩结构,所以才会抛出打开错误,和编码设置没有关系。你可以把生成的
word.docx后缀改为.txt,用文本编辑器打开就能正常看到写入的hello内容,验证编码本身没有问题。
正确实现方案
如果需要生成可正常打开的 Word 文档,需要使用专门处理 docx 格式的第三方库,例如 python-docx,操作步骤如下:
- 安装依赖库
pip install python-docx
- 示例代码
from pathlib import Path from docx import Document doc_path = Path.home() / "word.docx" # 新建空白Word文档 doc = Document() # 写入段落内容 doc.add_paragraph("hello") # 保存到指定路径 doc.save(doc_path)
运行上述代码生成的 docx 文件就可以被 Word 正常打开。
内容的提问来源于stack exchange,提问作者Despereaux
相关产品推荐
相关产品推荐

