Python批量转换TXT到DOCX时出现ModuleNotFoundError报错
解决docx模块导入报错:ModuleNotFoundError: No module named 'exceptions'
这个问题的核心是你用的docx包是过时的Python2版本,或者脚本文件名和库名冲突了,具体解决步骤如下:
检查脚本文件名:如果你的转换脚本叫
docx.py,马上重命名(比如改成txt2docx.py)。Python会优先导入当前目录下的同名文件,导致你实际导入的是自己的脚本,而不是真正的docx库。替换为正确的docx库:
- 先卸载旧的、不兼容Python3的
docx包:pip uninstall docx - 安装官方维护的、支持Python3的
python-docx库:pip install python-docx
- 先卸载旧的、不兼容Python3的
使用正确的批量转换代码:
下面是可以直接运行的批量TXT转DOCX代码,确保导入的是正确的库:import os from docx import Document # 配置路径 txt_folder = "./txts" # 你的TXT文件存放目录 output_folder = "./docx_output" # 创建输出目录(不存在则自动创建) os.makedirs(output_folder, exist_ok=True) # 遍历所有TXT文件 for file in os.listdir(txt_folder): if file.lower().endswith(".txt"): txt_path = os.path.join(txt_folder, file) docx_name = os.path.splitext(file)[0] + ".docx" docx_path = os.path.join(output_folder, docx_name) # 生成DOCX文档 doc = Document() # 读取TXT内容(注意编码,根据你的文件调整,比如gbk) with open(txt_path, "r", encoding="utf-8") as f: doc.add_paragraph(f.read()) doc.save(docx_path) print(f"转换完成:{file} → {docx_name}")
报错原因说明
Python3已经移除了exceptions模块,原来Python2里的异常类(比如PendingDeprecationWarning)现在直接在builtins模块下。你之前安装的docx包是针对Python2开发的旧版本,所以会出现这个导入错误。而python-docx是专门为Python3维护的库,不会有这个问题。
内容的提问来源于stack exchange,提问作者Just Me
相关产品推荐
相关产品推荐

