小編這次要給大家分享的是如何實現(xiàn)Python importlib動態(tài)導入模塊,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
成都創(chuàng)新互聯(lián)專注于嵊州企業(yè)網(wǎng)站建設(shè),響應式網(wǎng)站開發(fā),商城網(wǎng)站定制開發(fā)。嵊州網(wǎng)站建設(shè)公司,為嵊州等地區(qū)提供建站服務。全流程按需網(wǎng)站建設(shè),專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務閱讀目錄
一般而言,當我們需要某些功能的模塊時(無論是內(nèi)置模塊或自定義功能的模塊),可以通過import module 或者 from * import module的方式導入,這屬于靜態(tài)導入,很容易理解。
而如果當我們需要在程序的運行過程時才能決定導入某個文件中的模塊時,并且這些文件提供了同樣的接口名字,上面說的方式就不適用了,這時候需要使用python 的動態(tài)導入。
importlib使用
如在scripts目錄中保存著一些功能模塊,向外提供類似的接口poc()和腳本描述信息description,需要傳入一個參數(shù)target,當然腳本執(zhí)行的功能是不一樣的,以下只是舉例:
starnight:EXP-M starnight$ ls scripts/ __init__.py __pycache__ test1.py test2.py test3.py starnight:EXP-M starnight$ cat scripts/test1.py #!/usr/bin/env python # -*- coding:utf-8 -*- description = 'it is a test1' def poc(target): print('it is a test1') return True
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。