小编典典

用Python的__import__函数如何等效于“从模块导入*”?

python

给定一个带有模块名称的字符串,如何将模块中的所有内容导入,就像调用过的一样:

from module import *

即给定字符串S =“ module”,如何得到以下等价的内容:

__import__(S, fromlist="*")

这似乎没有达到预期的效果(因为它没有导入任何东西)。


阅读 203

收藏
2020-12-20

共1个答案

小编典典

请重新考虑。唯一比魔术更糟糕的import *是。 import *

如果您确实要:

m = __import__ (S)
try:
    attrlist = m.__all__
except AttributeError:
    attrlist = dir (m)
for attr in attrlist:
    globals()[attr] = getattr (m, attr)
2020-12-20