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格式的主要内容,如果未能解决你的问题,请参考以下文章