1

モジュールを動的にロードしようとしています。このトピックに関する多くの質問を見てきましたが、何も役に立ちませんでした。

私はこのディレクトリ構造を持っています:

root
|-- tests
|---- test_modules
|------ modules (files=test.py, __init__.py)
|-------- module1 (files=module.py, __init__.py)
|-------- module2 (files=module.py, __init__.py)

module1 と module2 をモジュール ディレクトリの下の test.py にインポートしたいと思います。

私はこれにバリエーションを使用しようとしています:

module1 = __import__('modules.module1.module', fromlist=['module'])
or
module1 = __import__('modules.module1.module')

いつも同じエラー「No module named *」が表示されます

私は何を間違っていますか?

4

1 に答える 1

0

これを試して:

import importlib
module1 = importlib.import_module('module1.module')
module2 = importlib.import_module('module2.module')

そうは言って__import__も、うまくいくはずです。次のように、最初に「モジュール」を取り出すだけです (同様のディレクトリ構造を設定しました)。

In [3]: __import__('module1.module')
Out[3]: <module 'module1' from 'module1/__init__.py'>
于 2013-10-30T22:54:51.587 に答える