【发布时间】:2010-12-05 18:47:09
【问题描述】:
我想动态导入一个模块列表。我在执行此操作时遇到问题。 Python 总是喊出ImportError 并告诉我我的模块不存在。
首先我得到模块文件名列表并去掉".py" 后缀,如下所示:
viable_plugins = filter(is_plugin, os.listdir(plugin_dir))
viable_plugins = map(lambda name: name[:-3], viable_plugins)
然后我os.chdir 到插件目录和map __import__ 整个东西,像这样:
active_plugins = map(__import__, viable_plugins)
但是,当我将active_plugins 变成一个列表并尝试访问其中的模块时,Python 会抛出一个错误,说它无法导入这些模块,因为它们似乎不存在。
我做错了什么?
编辑:通过简单地使用交互式解释器,执行os.chdir 和__import__(modulefilename) 会产生我所需要的。那么,为什么上述方法不起作用呢?我对 Python 的更多功能部分做错了吗?
【问题讨论】:
标签: python import python-3.x