Python动态模块加载
2018-03-28 20:41
441 查看
1.配置加载模块的config
config = {
"mod": {
"stock": {
"enabled": True,
},
"future": {
"enabled": True,
}
}
}
5.测试模块加载
from Env import Env, config
from Mod import ModHandler
def test():
#加载config到env
env = Env(config)
#启动加载模块
mod = ModHandler()
#加载模块中注入config
mod.set_env(env)
#启动加载
mod.start_up()
test()
config = {
"mod": {
"stock": {
"enabled": True,
},
"future": {
"enabled": True,
}
}
}
2.保存配置的环境
class Env(object): _env = None def __init__(self, config): Env._env = self self.config = config
3.加载模块处理
# -*- coding: utf-8 -*- import copy from collections import OrderedDict class ModHandler(object): def __init__(self): self._env = None self._mod_list = list() self._mod_dict = OrderedDict() def set_env(self, environment): self._env = environment config = environment.config for mod_name in config['mod']: if config['mod'][mod_name]['enabled'] == False: continue self._mod_list.append(mod_name) def start_up(self): for mod_name in self._mod_list: print('动态加载模块:') print(mod_name) #self._mod_dict[mod_name].start_up(self._env, mod_config)4.模拟2个子模块(stock和future)
5.测试模块加载
from Env import Env, config
from Mod import ModHandler
def test():
#加载config到env
env = Env(config)
#启动加载模块
mod = ModHandler()
#加载模块中注入config
mod.set_env(env)
#启动加载
mod.start_up()
test()
相关文章推荐
- ## 人生苦短我用python[0x01] 动态加载模块 ##
- python - 动态加载模块和类
- python技巧31[Python 动态加载模块的3种方法]
- python动态加载模块
- Python 模块动态加载技术
- Python动态加载模块的3种方法
- python动态加载子模块 根据字符串绑定子模块 如加载os.path
- python中动态加载模块和类方法实现
- python中动态加载模块和类方法实现
- Python 动态加载模块的3种方法
- 动态加载python可执行模块的办法(示例代码)
- Python模块的动态加载机制
- 人生苦短我用python(02)动态加载模块
- Python动态加载模块的3种方法
- Python动态加载模块以及模块类列表获取
- Python动态加载模块的实现
- Python动态加载模块
- python - 动态加载模块和类
- python - 动态加载模块和类
- python动态加载模块、类、函数