申し訳ありませんが、私は私の問題の原因を理解すれば、それを変更します 私は以下の構造を有する:のpythonを通報しますと、一般的なタイトルの__import__
foo/
foo/__init__.py
foo/bar/
foo/bar/__init__.py
foo/bar/some_module.py
私はそうすることによってsome_moduleをインポートしようとすると:
from foo.bar import some_module
チャームのように機能します。 しかし、実行時にインポートするモジュールの名前しか知っていないので、これは私には良いことではありません。私が試してみると:
from foo.bar import *
mod=__import__('some_module')
私はエラーが発生します。私は何か間違っているのですか?これを行うより良い方法はありますか?なぜこのようなことが起こっていますか?
なぜですか?私はPythonパッケージの背後にあるコンセプトを完全に理解しているとは思えません。
mod = __import__('foo.bar', fromlist = ['some_module'])
でも「foo.bar」の部分は、実行時に変更することができますこの方法:私はこれを行うための適切な方法があると信じて、彼らはJavaのパッケージと同等と思っていたので、
エラーメッセージには何が表示されますか? – ewall
'some_module'が既にインポートされています! – SilentGhost