我正在尝试在Python中动态导入模块。目前,我有一个名为“modules”的目录,里面有两个文件(mod1.py
和mod2.py
)。它们是简单的测试函数,用于返回时间(例如,mod1.what_time('now')
返回当前时间)。
从我的主应用程序中,我可以按如下方式导入:
sys.path.append('/Users/dxg/import_test/modules')
import mod1
然后,我可以执行:
mod1.what_time('now')
这个程序可以正常运行。
我并不总是知道目录中有哪些模块可用。我想按照以下方式导入:
tree = []
tree = os.listdir('modules')
sys.path.append('/Users/dxg/import_test/modules')
for i in tree:
import i
然而,我遇到了错误:
ImportError: No module named i
我错过了什么?
__import__()
函数。 - martineau__import __()
和listdir()
。它做的比你想要的多,但应该很容易解决。 - martineau