使用__import__
执行以下操作的最佳方法是什么,以便我可以动态指定模块?
from module import *
答案 0 :(得分:15)
我找到的唯一方法:
module = __import__(module, globals(), locals(), ['*'])
for k in dir(module):
locals()[k] = getattr(module, k)
答案 1 :(得分:4)
它与普通的从导入调用相同,您只需为'*'
传递一个包含fromlist
的列表:
moduleName = "foo"
__import__(moduleName, globals(), locals(), ['*'])
答案 2 :(得分:4)
__import__()
从不向本地范围添加任何内容。您将必须浏览返回的模块,根据需要访问其属性。