1. 使用 importlib 中的 import_module 函数
定义如下文件结构:
|--model # 文件夹
| |
| |--a.py
| |__init__.py
|
|--main.py
# a.py中定义了model1
main.py 中使用以下代码加载配置中的模块
import importlib
if __name__ == '__main__':
module_config = {
"module": "model.a",
"main": "model1",
"args": {...}
}
module_a = importlib.import_module(module_config["module"])
return getattr(module_a, module_config["main"])(**module_config["args"])
上述代码中,先通过 importlib.import_module 得到文件 a 的对象 module_a,然后通过 getattr 获取 module_a 中定义的 model1。并将 module_config 中配置的参数 args 以字典的形式(通过**完成)传给 model1。