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

Posted Technical Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于Python:通过pywin32模块批量将rtf或docx另存为doc格式的主要内容,如果未能解决你的问题,请参考以下文章

pywin32 - Python 在Windows COM 编程模块

给Python安装pywin32模块

pywin32之createfile详解

Windows平台Python编程必会模块之pywin32

python win32gui模块下载

pywin32模块按钮