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