我更喜欢使用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的机器上没有工作的其他解决方案给了我同样的错误 –