2017-02-06 6 views
0

私が行ったことを示すのに役立つ画像が添付されています。私は、奇数のページを持つディレクトリ内のすべてのPDFに空のページを追加するプログラムを作成しようとしています。しかし、ディレクトリ内のすべてのPDFを読むことはできません。ディレクトリ内のすべてのPDFを読む(画像)

私が使用しているスクリプトは1つのPDFで動作しますが、これには1000種類があります。なぜ私はuser_inputディレクトリ内のすべてのPDFを読むことができませんか?

Screenshot of code and error here

コードはここに

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

あるPDFファイルと同じディレクトリ内の.pyファイルですか?そうでない場合は、os.listdirによって返されるファイル名だけでなく、ファイルを読むためのフルパスが必要です。

+0

.pyファイルは同じディレクトリにあります。ユーザー入力の場合、パスはC:\ Python Projects \ PDF(PDFと.pyファイルがある場所)です。 – mbf94

0

フォルダ内のすべてのPDFファイルを処理するには、いくつかのことが必要です。

  1. は右ディレクトリ
  2. に取得するすべてのファイル

OSは、このために完全であるだけでPDFファイルを取得します。それは、すべてのファイルを取得し、それらで何をするかを決定させることができます。私が持っていた問題の1つは、自分のパスにスペースがあり、os.chdir()がパス( "something \ long \ with \ spaces/abcd/pdf \ folder")を見ていて、すべてのスペースを "\"と置き換えると、最終パスは "something \ long \/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 
関連する問題