如何使用__import__导入*

17 投票
3 回答
4813 浏览
提问于 2025-04-15 23:12

怎样才能用 __import__ 来执行下面的代码,这样我就可以动态地指定模块呢?

from module import *

3 个回答

5

__import__() 这个函数不会把任何东西直接放到你当前的代码环境里。你需要通过这个函数返回的模块,去访问里面的内容,想用什么就用什么。

17

我找到的唯一方法是:

module = __import__(module, globals(), locals(), ['*'])
for k in dir(module):
    locals()[k] = getattr(module, k)
5

这和普通的从模块导入的方式是一样的,你只需要给它传一个包含 '*' 的列表作为 fromlist

moduleName = "foo"
__import__(moduleName, globals(), locals(), ['*'])

撰写回答