要通过函数调用导入模块,请使用该importlib模块(自2.7版开始包含在Python中):
import importlib random = importlib.import_module("random")
该函数还将直接导入包的子模块:importlib.import_module()
collections_abc = importlib.import_module("collections.abc")
对于旧版本的Python,请使用imp模块。
使用功能imp.find_module并imp.load_module执行程序化导入。
取自标准库文档
import imp, sys def import_module(name): fp, pathname, description = imp.find_module(name) try: return imp.load_module(name, fp, pathname, description) finally: if fp: fp.close()
千万不要使用__import__()以编程方式导入模块!有涉及sys.modules,fromlist参数等的细微细节,这些细节很容易为您处理。importlib.import_module()