文件写入不适用于pyPdf?

时间:2015-04-24 04:11:11

标签: python

我是python的新手。我试着打开pdf文件并将其内容写入 新的文本文件。文本文件名由pdf名称生成。我到目前为止尝试过但是没有给出我期望的东西。我怎样才能实现它

    import glob, os
    import pyPdf
    os.chdir("pdf/")
    for file in glob.glob("*.pdf"):
            filena = file
            filename = "c:/documents/"+filena+".txt"
            target = open(filename,'w')
            pdf = pyPdf.PdfFileReader(open(filena,"rb"))
            for page in pdf.pages:
                target.write (page.extractText())
            target.close()

结果错误

File "c:/documents/atpkinase.pdf.txt",line 7, in <module>  
target = open(filename,'w')
IOError: [Errno 2] No such file or directory: "c:/documents/atpkinase.pdf.txt" 

1 个答案:

答案 0 :(得分:1)

看起来目录"c:/documents/"不存在。要将文件写入其中,您必须首先创建目录。要检查存在的目录(并在需要时创建它),您可以使用

dir = "c:/documents"
if not os.path.exists(dir):
    os.makedirs(dir) 

此外,filea包含带扩展名的文件名,当您创建filename时,您只需要一个没有扩展名的旧文件的文件名。