我想使用importlib
重新加载其名称是动态生成的模块。
例子:
import sys
def some_func():
return "sys"
want_reload = some_func()
现在如何使用变量
sys
重新加载want_reload
模块?我不能直接将其提供给importlib.reload()
,因为它说它需要一个模块,而不是str。如果提供了无效的字符串或未加载的模块,则可能会更好,例如
"........"
,它引发一个异常。 最佳答案
importlib.import_module()
不会重新加载,但是即使已加载,也会向模块返回一个引用:
import sys
import importlib
def some_func():
return "sys"
want_reload = some_func()
want_reload_module = importlib.import_module(want_reload)
importlib.reload(want_reload_module)
关于python-3.x - 从字符串importlib.reload模块?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52134490/