python利用字典保存配置实现动态调用模块类方法
2014-04-09 10:41
1176 查看
python利用字典保存配置实现动态调用模块类方法
文件名:mytest,py
具体代码如下:
几个注意点:
1. 字典保存配置。
2. getattr方法的使用
文件名:mytest,py
具体代码如下:
#coding=UTF-8 class TestClass: def sub(self,a,b): return a-b def add(self,a,b): return a+b def chen(self,a,b): return a*b class TestClassA: def sub(self,a,b): return a-b def add(self,a,b): return a+b def chen(self,a,b): return a*b class TestClassB: def sub(self,a,b): return a-b def add(self,a,b): return a+b def chen(self,a,b): return a*b sys_config={} sys_config["01"]=['mytest','TestClassA','add'] sys_config["02"]=['mytest','TestClassA','sub'] sys_config["03"]=['mytest','TestClassA','chen'] sys_config["04"]=['mytest','TestClassB','add'] sys_config["05"]=['mytest','TestClassB','sub'] sys_config["06"]=['mytest','TestClassB','chen'] def main(): class_name = "TestClass" #类名 module_name = "mytest" #模块名 method = "chen" #方法名 module = __import__(module_name) # import module print "#module:",module c = getattr(module,class_name) print "#c:",c obj = c() # new class print "#obj:",obj print(obj) obj.chen(2,3) mtd = getattr(obj,method) print "#mtd:",mtd print mtd(2,3) # call def mtd_add = getattr(obj,"add") t=mtd_add(1,2) print "#t:",t mtd_sub = getattr(obj,"sub") print mtd_sub(2,1) ywdm='02' my_module_name=sys_config[ywdm][0] my_class_name=sys_config[ywdm][1] my_method_name=sys_config[ywdm][2] my_module = __import__(my_module_name) my_class = getattr(my_module,my_class_name) my_obj = my_class() my_method = getattr(my_obj,my_method_name) print my_method(5,2) if __name__ == '__main__': main()
几个注意点:
1. 字典保存配置。
2. getattr方法的使用
相关文章推荐
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- python 动态调用模块、类、方法(django项目)
- [python]python 动态调用模块&类&方法
- python利用拉链法实现字典方法示例
- 利用swig实现python调用C/C++的方法
- python中动态加载模块和类方法实现
- Python实现动态加载模块、类、函数的方法分析
- 在Win7环境下,利用SWIG实现Python调用C的方法
- 利用python实现对鼠标的移动点击操作(PyMouse 模块安装方法)
- dll动态链接库之用类写配置文件和调用判断方法接口的实现中遇到的若干问题
- 利用swig实现python调用C/C++的方法
- 【廖雪峰 python教程 课后题 切片】利用切片操作,实现一个trim()函数,去除字符串首尾的空格,注意不要调用str的strip()方法:
- 在Win7环境下,利用SWIG实现Python调用C的方法
- 利用swig实现python调用C/C++的方法
- python 动态调用模块&类&方法
- python中动态加载模块和类方法实现
- java根据properties配置文件来实现功能模块的动态切换
- Python实现配置文件备份的方法
- asp.net利用cookie保存用户密码实现自动登录的方法
- 利用Objective-C的反射机制和运行时特性实现类静态方法的动态访问(二)