由于python不能直接处理doc,所以先把doc转换成docx

这个Python脚本实现了将.doc文件批量转换为.docx格式。通过使用win32com模块,它打开Word应用,读取.doc文件并保存为.docx。同样,它也能将.docx转换回.doc格式。此脚本对于处理不支持直接处理.doc格式的Python环境非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于python不能直接处理doc,所以先把doc转换成docx

import os
from glob import glob
from win32com import client


# 转换doc为docx
def doc2docx(fn):
    word = client.Dispatch("Word.Application")  # 打开word应用程序
    # for file in files:
    doc = word.Documents.Open(fn)  # 打开word文件
    doc.SaveAs("{}x".format(fn), 12)  # 另存为后缀为".docx"的文件,其中参数12或16指docx文件
    doc.Close()  # 关闭原来word文件
    word.Quit()


# 转换docx为doc
def docx2doc(fn):
    word = client.Dispatch("Word.Application")  # 打开word应用程序
    # for file in files:
    doc = word.Documents.Open(fn)  # 打开word文件
    doc.SaveAs("{}".format(fn[:-1]), 0)  # 另存为后缀为".docx"的文件,其中参数0指doc
    doc.Close()  # 关闭原来word文件
    word.Quit()


# path = './b.doc'
# abs_path = os.path.abspath(path)
# print(abs_path)

doc_path = './files/*.doc'

doc_li = glob(doc_path)
total_num = len(doc_li)
processed_num = 0
for one_doc in doc_li:
    abs_doc = os.path.abspath(one_doc)
    # print(abs_doc)
    processed_num += 1
    print('processed {} / {}'.format(processed_num, total_num))
    try:
        doc2docx(abs_doc)
    except Exception as e:
        print(e)

https://pypi.tuna.tsinghua.edu.cn/packages/25/54/177ee28fec4ecd23fa539f3df78067e7a4927515b84eac34e36060fcdb8d/pywin32-300-cp37-cp37m-win_amd64.whl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值