0

我想使用命令 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.
4

2 回答 2

3

你从fullFileName字面上传递到os.popen. 您应该改为这样做(假设fullFileName不必转义):

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

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

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

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

于 2010-10-18T09:53:37.453 回答
1

将最后一行更改为

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

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

于 2010-10-18T09:54:21.273 回答