将文件夹中的所有pdf转换为文本文件,并使用python将它们存储在不同的文件夹中

时间:2015-03-24 15:24:20

标签: python

我试图将存储在一个文件中的所有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")

2 个答案:

答案 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