2011-08-12 21 views
1

だからここに私のインポートではありませんファイル:ここではPyPDFのPdfFileReader()、呼び出し可能

from pyPdf import PdfFileWriter, PdfFileReader 

が、私は私のPDF書きましたです:

filenamer = filename + '.pdf' 
pdf = PdfPages(filenamer) 

(偉大な命名規則を、私は知っています!)

私はいくつかのことを書きます。

私はここでそれを閉じる:私は試してみて、それを読むのはここ

pdf.close() 

は次のとおりです。

input1 = PdfFileReader(file(filenamer, "rb")) 

そして、ここではエラーです:

Traceback (most recent call last): 
    File "./datamine.py", line 405, in <module> 
    input1 = PdfFileReader(file(filenamer, "rb")) 
TypeError: 'file' object is not callable 

私はエラーを理解しません私はファイルが存在することを知っているので、この行をコメントアウトし、input1に続く行をコメントアウトすると、プログラムはうまく動作します。

+0

私は 'pyPdf'を知らないが、Pythonの一般的なアドバイスは' file'ではなく 'open'を使うことです。 'file'はPython 3の組み込み関数として削除されました。 – agf

答えて

4

オープンファイルをfileという名前に割り当てたようですが、それ以降は組み込み関数を使用することはできません。

+0

実際にファイルを名前として使うのは好きではありません。スコープが届かなかったループでそれを見つけました...それは変です! – Jim

+0

注意:ループはCのように新しいスコープを作成しません。名前は関数全体に対してローカルであり、モジュール全体に対してグローバルです。 –

+0

ああ...それはもっと理にかなっています。ありがとうございました。 – Jim

関連する問題