我试图将存储在一个文件中的所有pdf转换成文本文档中的60 pdf并将它们存储在不同的文件夹中。该文件夹应具有唯一的名称。 我试过这个代码。创建的文件夹,但pdftotext转换命令在循环中不起作用:
import os
def listfiles(path):
for root, dirs, files in os.walk(path):
for f in files:
print(f)
newpath = r'/home/user/files/'
p=f.replace("pdf","")
newpath=newpath+p
if not os.path.exists(newpath): os.makedirs(newpath)
os.system("pdftotext f f.txt")
f=listfiles("/home/user/reports")
答案 0 :(得分:2)
这里的一个问题是os.system("pdftotext f f.txt")
电话。我假设您希望此处的f替换为循环中的当前文件。如果是这种情况,您需要将其更改为os.system("pdftotext {0} {0}.txt".format(f))
另一个问题可能是工作目录未设置,因此对系统的调用正在查找错误位置的文件。每次更改文件夹时都尝试使用os.chdir
。
将文本文件放在不同的文件夹中尝试:
os.system("pdftotext {0} {1}/{0}.txt".format(f, newpath))
答案 1 :(得分:0)
我不懂Python,但我想我可以清楚地看到那里的错误。看起来你只是在替换" .pdf"使用" .txt"。由于PDF不仅仅是纯文本,因此无法正常工作。 对于转换,看看这篇文章的最佳答案: Python module for converting PDF to text