Python:通过pywin32模块批量将rtf或docx另存为doc格式

Python 中 pywin32 模块可以调用 Windows API,可以在 windows 系统下打开 word excel 等应用,然后编辑保存另存为等操作,可以用来批量编辑文件。

环境是 Python3,先安装 pywin32 包:pip install pywin32,然后导入 pywin32 包中的 win32com 模块。

例如现在文件夹 D:\develop\temp\original 有如下文件:

通过以下代码,将其转成成 doc 并保存到文件夹 D:\develop\temp\destination 下。

#!/usr/bin/python3

import os  # 用于获取目标文件所在路径
from win32com import client as wc  # 导入模块

path = "D:\\develop\\temp\\original\\"  # 待处理文件夹
dest_path = "D:\\develop\\temp\\destination\\"

word = wc.Dispatch("kwps.application")  # 打开wps应用程序

for file in os.listdir(path):
    (file_path, temp_file_name) = os.path.split(file)
    (short_name, extension) = os.path.splitext(temp_file_name)
    print(short_name)
    doc = word.Documents.Open(path + file)
    doc.SaveAs(dest_path + short_name + ".doc", 0)  # 另存为后缀为".doc"的文件,其中参数0指doc文件
    doc.Close()
word.Quit()

上面是用 wc.Dispatch("kwps.application") 打开 wps 应用,如果要打开 word 则是 wc.Dispatch('word.application'),向Dispatch( ) 方法中传入不同的参数,即可调用不同的应用。

上面 SaveAs( ) 方法中第二个参数 0 是指 doc 文件,不同的文件对应的值也不同,可以参考这篇文章

修改上面启动的应用和需要另存为的文件后缀,可以实现许多文件的互转。

参考文档:

pywin32 操作 wps https://blog.csdn.net/qq_41703291/article/details/88411587

SaveAs 方法中第二个参数值 https://blog.csdn.net/ynyn2013/article/details/49120731

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值