我有一个不断崩溃的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
并且它工作,所以我知道这是pdftotext可执行文件的正确路径。还有其他建议吗?
答案 0 :(得分:1)
如果它在路径上找不到可执行文件,你也会得到错误...尝试使用pdftotext的完整路径,并查看如何设置subprocess.call的$ PATH。