简体   繁体   中英

File writing is not working with pyPdf?

I am newer to python. I was try open the pdf files and write its content into the new text files. That the text files name are generate by the pdf name. I tried so far but it is not give what i expect. How can i achieve it

    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()

Results the Error

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" 

Looks like if the directory "c:/documents/" does not exist. To write file to it you must create directory first. To check directory existent (and create it if needed) you can use

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

Also, filea contains file name with extension, and when you create filename you need only a file name of old file without extension.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM