Python读取doc文件打印内容

要在Python中读取.doc文件(注意:是旧版Word格式,即.doc,而非.docx)并打印内容,可以使用antiword工具配合Python调用,或者使用textract库(它会自动依赖antiword)。以下是两种常用方法:

文章目录

方法1:使用textract库(推荐,简化操作)

textract是一个多功能文本提取库,支持.doc、.docx、.pdf等多种格式,但需要先安装依赖工具。

步骤

  1. 安装依赖工具(必做):

    • Windows:需要安装antiword(用于解析.doc),下载地址:antiword for Windows,并将安装路径添加到系统环境变量PATH中。
    • macOS:brew install antiword
    • Linux:sudo apt-get install antiword
  2. 安装Python库:

    bash 复制代码
    pip install textract
  3. 读取并打印.doc内容:

    python 复制代码
    import textract
    
    # 读取.doc文件
    text = textract.process("你的文件路径.doc", encoding='utf-8')
    
    # 转换为字符串并打印
    print(text.decode('utf-8'))

方法2:直接调用antiword(更底层)

如果textract安装有问题,可以直接通过Python的subprocess模块调用antiword工具。

步骤:

  1. 先安装antiword(同方法1的步骤1)。

  2. Python代码:

    python 复制代码
    import subprocess
    
    def read_doc_file(file_path):
        try:
            # 调用antiword命令解析.doc文件
            result = subprocess.run(
                ['antiword', file_path],
                stdout=subprocess.PIPE,
                stderr=subprocess.PIPE,
                text=True,
                encoding='utf-8'
            )
            # 输出内容
            return result.stdout
        except Exception as e:
            return f"读取失败:{str(e)}"
    
    # 使用示例
    doc_content = read_doc_file("你的文件路径.doc")
    print(doc_content)

注意事项

  • .doc是二进制格式,解析难度比.docx大,上述方法依赖antiword工具,确保工具正确安装并配置环境变量。
  • 如果是.docx文件(新版Word),推荐使用python-docx库(更简单,无需额外工具)。

如果需要处理.docx,可以告诉我,我会补充对应的方法~

相关推荐
全栈弄潮儿3 分钟前
Python实战第1期:Python环境搭建与第一个程序
python
奋斗的阿狸_19867 分钟前
ESP32-S3 + ES7210 四通道麦克风录音上传方案
c语言·开发语言·fpga开发
心易行者9 分钟前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache
weixin1997010801622 分钟前
《1688图片空间API踩坑:img.upload 与 album.* 的防盗链与CDN缓存问题》(附Python源码)
开发语言·python·缓存
ACP广源盛1392462567336 分钟前
Type‑C 扩展坞方案选型笔记|国产 DP1.4 转 HDMI2.0 桥接芯片 GSV2201S @ACP评估
c语言·开发语言·笔记·硬件架构·硬件工程·国产芯片
布吉岛的石头43 分钟前
Java 程序员第 49 阶段11:Java 接 BERT:用 ONNX Runtime 做句向量推理
java·人工智能·python·深度学习·bert·transformer
第25小时记录1 小时前
数据结构与算法 -第 3 章 常用算法-动态规划
数据结构·python
Dmz丶1 小时前
前端转 AI 100 天 Day 18:pytest 入门——为什么你必须要写测试
python
niucloud-admin1 小时前
JAVA V6 多商户商城 开发文档——JAVA服务端
java·开发语言
用户019027581611 小时前
如何用 Python 计算 DMA 平行线差指标?
python