pdftotext在Python脚本中调用时无法找到文件进行转换

1 投票
1 回答
2826 浏览
提问于 2025-04-15 21:44

我有一个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是怎么设置的。

撰写回答