无法使用Python脚本将PDF转换为文本
我想把一个特定文件夹里的所有 .pdf 文件转换成 .txt 格式,打算用 pdftotext 这个命令来实现...不过我想用一个 Python 脚本来完成这个任务...
我的脚本内容是:
import glob
import os
fullPath = os.path.abspath("/home/eth1/Downloads")
for fileName in glob.glob(os.path.join(fullPath,'*.pdf')):
fullFileName = os.path.join(fullPath, fileName)
os.popen('pdftotext fullFileName')
但是我遇到了以下错误:
Error: Couldn't open file 'fullFileName': No such file or directory.
2 个回答
1
把最后一行改成这样:
os.open('pdftotext {0}'.format(fullFileName))
这样的话,传递的将是fullFileName
的值,而不是名字。
3
你现在是把 fullFileName
直接传给 os.popen
。你应该这样做(假设 fullFileName
不需要转义):
os.popen('pdftotext %s' % fullFileName)
另外要注意的是,os.popen
已经不推荐使用了,最好用 subprocess
模块来代替:
import subprocess
retcode = subprocess.call(["/usr/bin/pdftotext", fullFileName])
这样做也更安全,因为它能正确处理 fullFileName
中的空格和特殊字符。