0

traceモジュールを使用するコードトレーサーを作成しています。トレースモジュールを使用するには、最初に問題の関数を呼び出せるようにする必要があります。

imp次のように使用して、関数定義を含むモジュールをインポートすることに成功しました。

mod = imp.load_source(os.path.basename(fpath).rpartition('.py')[0], fpath)

ここfpathで、はインポートする必要のあるモジュールへのパスです。

インポートする必要のある関数/クラスが事前にわかりませんmod。これは変数で識別されます(この例のためにstr呼び出しましょう)。var

たとえば、fpath可能性が'/Users/username/.../myPythonModule.py'あり、var可能性があります'foo'

fooからインポートするにはどうすればよいmodですか?
重要な場合は、python2.7を使用しています

4

1 に答える 1

2

モジュールをオブジェクトとしてインポートし、目的の関数の名前を含む文字列である場合は、モジュールからその名前の関数(またはクラス、値など)を取得できmodます。vargetattr(mod, var)

于 2013-01-27T20:10:20.493 に答える