-1

本当にばかげた基本的な質問をしているように感じますが、頭が真っ白になって頭がわかりません。

私はpdfを解析するモジュールを持っています。モジュール内には、pdfコンテンツを解析してリストにする関数があります。

def pdfToList(inFile):
    #Do all kinds of stuff with inFile
    list = inFile

別のファイルから pdfToList を呼び出しています。pdfToList はファイルを解析するため、後でメイン プログラムで結果が必要になったときに再度呼び出したくありません。したがって、モジュール内の別の関数で値を返すと思いました。

def getList():
    return list

言うまでもなく、スコープの問題により、これは機能しません。どうすればこれを修正できますか?

4

1 に答える 1

1

このようなことをしてください

g_lis t= None
def pdfToList(inFile):
    global g_list
    if g_list is None:
       #Do all kinds of stuff with inFile and set g_list once
       g_list = inFile

    return g_list

したがって、pdfToList最初にグローバル変数が既に設定されているかどうかを確認し、そうでない場合はg_listそれを設定します。この方法では、ファイルを再度ロードすることを心配せずに再度呼び出すことができる関数が 1 つだけ必要です。

于 2012-10-25T15:32:45.867 に答える