pdftotext在Python脚本中调用时无法找到文件进行转换
我有一个Python脚本,它总是崩溃,出错的地方是:
subprocess.call(["pdftotext", pdf_filename])
错误信息是:
OSError: [Errno 2] No such file or directory
我存储在日志文件里的文件名的绝对路径是没问题的;在命令行里,如果我输入 pdftotext <pdf_filename_goes_here>
,对于那些据说有问题的文件名,它都能正常工作。但是当我在Python中用 subprocess
调用它时,总是出现那个错误。
这是怎么回事???
另外,我在Python解释器里试过,也能正常工作!
>>> import subprocess
>>> subprocess.call(["pdftotext", "/path/to/file/test.pdf"])
0
>>>
更新:为了让大家知道,我还试过:
subprocess.call(["/usr/bin/pdftotext", "/path/to/file/test.pdf"])
结果也出现了同样的错误。我直接用 /usr/bin/pdftotext test.pdf
运行也没问题,所以我知道这个路径是正确的。还有其他建议吗?
1 个回答
1
如果找不到可执行文件,也会出现这个错误……你可以试着使用pdftotext的完整路径,同时看看subprocess.call的$PATH是怎么设置的。