python中動態載入模組和類方法實現

2021-06-21 11:05:56 字數 1120 閱讀 2033

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...