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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM