Python:命令在终端中有效,而不是 os.system()

Python: Command works in Terminal, not os.system()

我正在编写一个 Python 脚本来从网站中提取 PDF,循环遍历它们,抓取它们的文本,然后对它们执行基本的自然语言处理。

我 运行 遇到了一个奇怪的问题:如果我在终端中使用 PDFMinerpdf2txt.py 命令,它工作正常。相反,如果我尝试在脚本本身中遍历我的文件,就像这样:

for url in papers:
     urllib.urlretrieve(url, DIR + "paper.pdf")
     os.system("pdf2text.py -o paper.txt -t text paper.pdf")

我收到以下错误:

sh: pdf2text.py: command not found

与PATH、env vars有关吗?我什至不知道从哪里开始。

我真的更喜欢 pdf2txt 而不是 slate,因为后者会导致 nltk 出问题(我猜是其他的 post) .

问题是程序名称是pdf2txt.py,不是pdf2text.py