调用 LibreOffice 将文档转换为文本...
这在 Linux 命令行中工作得很好:
soffice --headless --convert-to txt:"Text" document_to_convert.doc
但是当我尝试从 Python 运行相同的命令时出现错误:
subprocess.call(['soffice', '--headless', '--convert-to', 'txt:"Text"', 'document_to_convert.doc'])
错误:请重新验证输入参数...
如何获取要从 Python 运行的命令?
这是您应该使用的代码:
subprocess.call(['soffice', '--headless', '--convert-to', 'txt:Text', 'document_to_convert.doc'])
这是您发布的同一行,没有引号txt:Text
.
为什么您会看到错误?简单来说:因为soffice不接受txt:"Text"
。它只接受txt:Text
.
为什么它在 shell 上工作?您的 shell 隐式删除参数周围的引号,因此执行的命令实际上是:
soffice --headless --convert-to txt:Text document_to_convert.doc
尝试运行这个命令:
soffice --headless --convert-to txt:\"Text\" document_to_convert.doc
引号不会被删除,您会看到请验证输入参数您通过 Python 收到的消息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)