我正在尝试在 Python 中动态导入模块。这意味着 - 我有一个 Python 包,里面有模块。在不指定模块名称的情况下,我想将每个模块名称的字典保存到指向该模块的指针。
我尝试使用此讨论中的建议
我的目录是:
foo/
__init__.py
bar1.py
bar2.py
我使用的脚本是:
import pkgutil
import foo
for importer, name, ispkg in pkgutil.iter_modules(foo.__path__, foo.__name__ + "."):
print "Found submodule %s (is a package: %s)" % (name, ispkg)
module = __import__(name)
print "Imported", module
我第一次迭代得到的输出是:
Found submodule foo.bar1 (is a package: False)
Imported <module 'foo' from '/path/to/foo/__init__.pyc'>
因此,我没有使用它来获取我的 bar1 模块,而是获取了带有导入的 foo 包。
如何获取 bar1 和 bar2 模块?
如果 pkgutil 的使用不正确,欢迎使用其他方法。