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 echo(self):
print "test"
def main():
class_name = "testclass" #類名
module_name = "mytest" #模組名
method = "echo" #方法名
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.echo()
mtd = getattr(obj,method)
print "#mtd:",mtd
mtd() # 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)
if __name__ == '__main__':
main()
執行後輸出如下:
> "d:\python27\python.exe" "d:\test\src\mytest.py"
#module:
#c: mytest.testclass
#obj:
test
#mtd: >
test
#t: 3
1
Python動態載入模組
需求 實現乙個簡單的pyton程式,接收兩個引數 plugin name,data,根據不同的plugin name定位到不同的邏輯處理模組並進行輸出。實現方案 使用python的庫函式 load source,將外掛程式模組載入到乙個dict中key為模組名稱,value為類的例項,核心 def ...
動態模組載入和ELF Loader
很早很早以前就想在嵌入式系統上實現動態模組載入的功能了,期間走了些彎路,直到最近,才完整地在嵌入式系統上實現動態模組載入。動態模組載入的好處 動態模組載入的好處很多,例如,當你公升級乙個系統的時候,可以只公升級乙個模組,而不必公升級整個系統。你可以把不同的模組放在不同的介質上,並實施不同等級的保護,...
Python模組的動態載入機制
python在執行環境初始化中,就將sys module載入到了記憶體中,實際上,python是將一大批的module載入到了記憶體中。但是為了使local名字空間能夠達到最乾淨的效果,python並沒有將這些符號暴露在當前的local名字空間中,而是需要使用者顯式的通過import機制通知pyth...