无法使用python脚本将pdf转换为文本

时间:2010-10-18 09:52:09

标签: python glob

我想使用命令pdftotext将我的.pdf文件从特定目录转换为.txt格式...但我想使用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 个答案:

答案 0 :(得分:3)

您将fullFileName字面上传递给os.popen。你应该做这样的事情(假设fullFileName不必转义):

os.popen('pdftotext %s' % fullFileName)

另请注意,os.popen被视为已弃用,最好使用subprocess模块:

import subprocess
retcode = subprocess.call(["/usr/bin/pdftotext", fullFileName])

它也更加安全,因为它正确处理fullFileName中的空格和特殊字符。

答案 1 :(得分:1)

将最后一行更改为

os.open('pdftotext {0}'.format(fullFileName))

这样就会传递fullFileName的值,而不是名称。