动态加载模块:
方式1:系统函数__import__()
__import__(name, globals=None, locals=None, fromlist=(), level=0)
name[必填] - 模块名称
globals - 全局变量集合,默认为None,一般不用设置。如果设置的话,常用globals()。
locals - 局部变量集合,默认为None,一般不用设置。如果设置的话,常用locals()。
fromlist - 是否导入子模块,看上去是导入模块的列表。但实际上目前它只是一个判断条件,只要设置为非空的值,且模块名称是带有子模块的,将导入子模块。例如:sys.path。当不设置时,返回sys,如果设置为非空值,则返回ntpath(path模块)。
level - 绝对或者相对导入。
返回值
返回导入的模块,一般会赋值给变量,以便后期使用。
eg:
module_name = __import__(__name__, fromlist=True)
getattr(module_name, class_name)()
方式2:imp, importlib 模块
方式3:exec 函数