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。