2017-02-06 1 views
0

내가 한 일을 보여주기 위해 이미지를 첨부했습니다. 홀수 개의 페이지가있는 디렉토리의 모든 PDF에 빈 페이지를 추가하는 프로그램을 작성하려고합니다. 그러나 디렉토리에있는 모든 PDF를 읽을 수는 없습니다.디렉토리의 모든 PDF 읽기 (이미지)

나는 하나의 PDF로 작동하지만, 이것들은 1000 가지가있다. 왜 user_input 디렉토리에있는 모든 PDF를 읽을 수 없습니까?

Screenshot of code and error here

코드는 PDF 파일과 같은 디렉토리에있는 평 파일이

from PyPDF2 import PdfFileReader, PdfFileWriter, PdfFileMerger 
import os 


user_input = input("Enter the path of your file: ") 
files = os.listdir(user_input) 

for file in files: 
    print(file) 
    pdfReader = PdfFileReader(open(files, 'rb')) 
+0

@MYGz 그 – mbf94

+0

미안하지 마십시오에 대해, 당신이 그냥 형식이 올바른지 기술을 배우고, 여기에 새로운 수도 괜찮아 죄송합니다. – MYGz

답변

0

가 여기에있다? 그렇지 않으면 os.listdir에 의해 반환되는 파일명뿐만 아니라 파일을 읽는 전체 경로가 필요합니다.

+0

.py 파일이 같은 디렉토리에 있습니다. 사용자 입력의 경우 경로는 C : \ Python Projects \ PDF (PDF와 .py 파일이있는 위치)입니다. – mbf94

0

폴더의 모든 PDF 파일을 처리하려면 몇 가지가 필요합니다.

OS이 최적 인 PDF 파일을 가져 모든 파일을받을 권리 디렉토리

  • 에 도착. 모든 파일을 가져 와서 파일로 처리 할 방법을 결정할 수 있습니다. 내가 가진 한 가지 문제는 내 경로에 공백이 있고 os.chdir()이 경로 ("something \ long \ with \ spaces/abcd/pdf \ folder")를보고 있었고 모든 공백을 "\"로 바꾸는 것은 최종 경로가 "something \ long \ and \ spaces/abcd/pdf \ folder"였고 유효한 경로가 아님을 의미합니다. 원래 사용자 입력에서 "\"를 제거하면 정상적으로 작동합니다. 추가 도움이 필요하면 알려주세요.

    import os 
    os.chdir(raw_input("enter the path: ").replace("\\", "")) 
    print os.listdir(".") 
    for file in os.listdir("."): 
        if file.endswith(".pdf"): 
         print file 
         process(file) # do whatever it is you need to here 
    
  • 관련 문제