python利用字典保存配置實現動態調用模塊類方法
python利用字典保存配置實現動態調用模塊類方法
文件名: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方法的使用
最後更新:2017-04-03 12:56:06
上一篇:
Javascript:繼承和原型鏈
下一篇:
win7係統筆記本有線連接受限製有黃色感歎號解決方法
Picasso and Android-Universal-Image-Loader緩存框架
開發者論壇一周精粹(第十七期) :【漏洞預警】Windows再被爆SMB服務0day漏洞,阿裏雲提示您關注並修複
php視頻課程
w3c係列之CSS(四):深入理解盒模型
jQueryDom——Select、Option
Welcome Docker to SUSE Linux Enterprise Server【水平有限,中英對照,求糾錯】
淘富成真,硬件智能—— 硬件創新一站賦能平台
github 的使用
機器視覺技術背後的行業趨勢
GDS2017全球域名峰會在廈舉行,“信站大全”在這裏居然……