Python中用字符串导入module
在Python中,无法通过字符串来导入一个module文件:
import "string" # Error x = "string" import x # 不是导入string,而是导入名叫x的module文件
但是,如果要实现以字符串导入module文件的功能,该怎么办呢?有3种办法。
exec
将import语句拼接成字符串,放入到exec函数里面执行:
modname = 'string' exec('import ' + modname)
__import__函数
调用built-in函数__import__:
modname = 'string' __import__(modname)
import_module函数
这个是官方推荐,要调用import_module函数,首先要导入importlib:
import importlib modname = 'string' string = importlib.import_module(modname)