1

我有一个不断崩溃的python脚本:

subprocess.call(["pdftotext", pdf_filename])

错误是:

OSError: [Errno 2] No such file or directory

文件名的绝对路径(我在调试时将其存储在日志文件中)很好;在命令行上,如果我键入pdftotext <pdf_filename_goes_here>它适用于任何所谓的错误文件名。但是当subprocess在 python 中调用 using 时,我不断收到该错误。

到底是怎么回事???

另外,我尝试了 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并且它有效,所以我知道这是 pdftotext 可执行文件的正确路径。还有其他建议吗?

4

1 回答 1

1

如果在路径上找不到可执行文件,您也会收到该错误...尝试使用 pdftotext 的完整路径,并查看 $PATH 的 subprocess.call 是如何设置的。

于 2010-04-18T02:05:50.007 回答