2016-07-09 7 views
0

私の目標は、いくつかのPDFファイルを含むディレクトリを読み込み、Pythonを使用して各ファイルのページ数を返すことです。私はpyPdfライブラリを使用しようとしていますが、失敗します。osまたはglobでpyPdfを動作させる方法

私はこれを行う場合:

from pyPdf import PdfFileReader 

testFile = "C:\\path\\file.pdf" 
pdfFile = PdfFileReader(file(testFile, 'rb')) 
print pdfFile.getNumPages() 

を私はこれを行う場合は、それが失敗した結果

を取得します:

pdfList = [] 
for root, dirs, files in os.walk("C:\\path"): 
    for file in files: 
    pdfList.append(os.path.join(root, file) 

for item in pdfList: 
    targetPdf = PdfFileReader(file(item,'rb')) 
    numPages = targetPdf.getNumPages() 
    print item, numPages 

これは常にその結果:

TypeError: 'str' object is not callable 

pyPdf objを再作成しようとすると手作業で、私は同じことを得る。

私は間違っていますか?

答えて

1

問題は、名前、ファイルを変数として使用することによるものです。 最初のforループでファイルを変数名として使用しています。 そして、関数呼び出しin文では、targetPdf = PdfFileReader(file(item、 'rb'))です。

最初のforループで変数名をfileNameからfileNameに変更してみてください。 役に立ったと思っています

+0

うわー、私はばかです。それはすぐにそれを修正した。先端に感謝します。 – Tensigh

関連する問題