私の開発環境はPython 2.6なので、importlib.import_module()構文は利用できません。私は、変数によって設定されたパスをモジュールにロードしようとしています。これは2.6でも可能ですか?Python 2.6で変数パスを持つモジュールをロードしますか?
バックグラウンドは、さまざまなベンダーのデバイスを多数ポーリングしているため、さまざまなディレクトリに、同じメソッドと戻り値の型を持つラッパークラスがあります。必要なデータを取得するベンダー固有のメソッドを処理します。だからベンダーに基づいて、私は "platform_foo.stats"または "platform_bar.stats"をロードし、結果のモジュールで同じメソッドを呼び出す必要があるかもしれません。
ので、このようなもの、これは明らかに非稼働コードで除い:
vendor = get_vendor(hostname)
vendor_path = 'platform_%s.stats' % vendor
import vendor_path
stats = vendor_path.stats(constructor_args)
任意のアイデア?
http://stackoverflow.com/questions/3496592/conditional-import-of-modules-in-python –