【发布时间】:2013-07-29 13:10:40
【问题描述】:
我有一个要从__init__.py 导入的模块名称列表。
$ mkdir /tmp/pkg
$ touch /tmp/__init__.py /tmp/pkg/{a.py,b.py}
$ cat /tmp/pkg/__init__.py
to_import = ["a", "b"]
import importlib
for toi in to_import:
importlib.import_module(toi)
$ cd /
$ python
>>> import tmp.pkg
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "tmp/pkg/__init__.py", line 5, in <module>
importlib.import_module(toi)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
ImportError: No module named a
>>>
python 2.7.4 Ubuntu 64 位
问题:那么如何从包的__init__.py 导入包模块?
【问题讨论】:
-
好吧,我不明白。为什么不直接
import a, b? -
为简单起见,我将示例最小化。模块列表是动态的,可以在别处获得。
标签: python python-2.7 python-import