2016-04-18 7 views
-1

私は__import__メソッドで問題が発生しています。それはモジュールのベースディレクトリをインポートするだけで、ファイルはインポートしないようです。例えば__import__のみインポート__init__.py

私が持っている:

test_suite/assert_array_length.py 

私は__import__にこれを渡します

moduleLocation = "test_suite.assert_array_length" 
module = __import__(moduleLocation) 
print module 

私は取得しています:

[sub_directories]/test_suite/__init__.pyc 

を呼び出しシーケンスがrun_tests.pyからtest_runner.pyに起こっています。 test_runner.pyassert_array_length.pyをインポートします。彼らはこのようにレイアウトされている:それは__init__.pyをインポートしているため

run_tests.py 
|-----------test_runner.py 
|-----------assert_array_length.py 

、私はassert_array_length.pyファイルから必要なものを得ることができません。

答えて

0

あなたが要求したモジュールをインポートします。あなたがdocumentationをチェックする場合は、あなたが次のことを見つけるだろう:

変数は、フォームpackage.moduleである場合には、通常、トップレベルのパッケージ(最初のドットまでの名前のアップ)がありますが返され、nameという名前のモジュールは返されませんでした。

あなたはpackage.moduleをインポートすることを指示した場合package.moduleの代わりpackageを返しますimportlib.import_moduleを、好むかもしれません。

+0

ありがとうございました。これは完全に機能します。 –