我更喜歡使用glob
模塊執行此類任務。把它放在一個文件doc2docx.py
。要使其可執行,請設置chmod +x
。並可選擇將該文件放入您的$PATH
中,以使其「隨處可用」。
#!/usr/bin/env python
import glob
import subprocess
for doc in glob.iglob("*.doc"):
subprocess.call(['soffice', '--headless', '--convert-to', 'docx', doc])
雖然理想情況下你會離開擴大到外殼本身,並調用doc2docx.py
與文件作爲參數,如doc2docx.py *.doc
:
#!/usr/bin/env python
import subprocess
import sys
if len(sys.argv) < 2:
sys.stderr.write("SYNOPSIS: %s file1 [file2] ...\n"%sys.argv[0])
for doc in sys.argv[1:]:
subprocess.call(['soffice', '--headless', '--convert-to', 'docx', doc])
按照要求通過@pyd,輸出到目標目錄myoutputdir
使用:
#!/usr/bin/env python
import subprocess
import sys
if len(sys.argv) < 2:
sys.stderr.write("SYNOPSIS: %s file1 [file2] ...\n"%sys.argv[0])
for doc in sys.argv[1:]:
subprocess.call(['soffice', '--headless', '--convert-to', 'docx', '--outdir', 'myoutputdir', doc])
它沒有幫助......我的Windows 10的機器上沒有工作的其他解決方案給了我同樣的錯誤 –