色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Python importlib動態導入模塊實現代碼

瀏覽:93日期:2022-07-29 17:54:06

閱讀目錄

一般而言,當我們需要某些功能的模塊時(無論是內置模塊或自定義功能的模塊),可以通過import module 或者 from * import module的方式導入,這屬于靜態導入,很容易理解。

而如果當我們需要在程序的運行過程時才能決定導入某個文件中的模塊時,并且這些文件提供了同樣的接口名字,上面說的方式就不適用了,這時候需要使用python 的動態導入。

importlib使用

如在scripts目錄中保存著一些功能模塊,向外提供類似的接口poc()和腳本描述信息description,需要傳入一個參數target,當然腳本執行的功能是不一樣的,以下只是舉例:

starnight:EXP-M starnight$ ls scripts/__init__.py __pycache__ test1.py test2.py test3.pystarnight: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

而我們需要動態傳入腳本名,來選用此時要執行的功能:

#!/usr/bin/env python# -*- coding:utf-8 -*-import importlibscript_name = input(’please input script_name : ’) # 手動輸入腳本名 module = importlib.import_module(’scripts.{}’.format(script_name))# 動態導入相應模塊func = module.poc(’’)# 執行腳本功能print(module.description)  # 獲取腳本描述信息

please input script_name : test1it is a test1it is a test1...please input script_name : test3it is a test3it is a test3

當我們動態給定腳本名字時,就會動態的導入該模塊,執行相應的功能。

importlib其他介紹python doc: importlib

importlib中的幾個函數:__import__、import_module、find_loader、invalidate_caches、reload

'Note Programmatic importing of modules should use import_module() instead of this function.'當進行編程時,使用import_module,如上使用該模塊。

find_loader用來查找模塊,reload重新載入模塊,invalidate_caches不多介紹了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 欧美日韩一 | 亚洲理论欧美理论在线观看 | 日本免费的一级绿象 | 精品在线视频播放 | 美女黄视频免费观看 | 在线视频 自拍 | 日韩美女专区中文字幕 | 精品国产成人a区在线观看 精品国产成人a在线观看 | 爽爽爽爽爽爽爽成人免费观看 | 日韩精品一区二区三区免费视频 | 99精品视频在线观看re | 手机在线视频一区 | 99re思思 | 欧美一级爱操视频 | 全免费a级毛片免费看视频免 | 亚洲国产欧美在线人成精品一区二区 | 亚洲午夜影视 | 孩交啪啪网址 | 国产欧美日韩视频在线观看一区二区 | 国产成人精品久久一区二区小说 | 亚洲一区免费视频 | 香蕉香蕉国产片一级一级毛片 | 欧美精品成人3d在线 | 一级免费| 欧美一区综合 | 曰韩美女一级视频 | 99久久免费观看 | 国产成人精品日本亚洲语音2 | 男人的天堂免费视频 | 欧美高清色视频在线播放 | 欧美精品一区二区在线观看播放 | 色黄啪啪18周岁以下禁止观看 | 欧美日韩中文字幕在线观看 | 香港一级纯黄大片 | 亚洲国产欧美一区 | 91精品日本久久久久久牛牛 | 亚洲欧美一区二区三区不卡 | 自偷自偷自亚洲永久 | 一本色道久久综合亚洲精品 | 久久成人18免费 | 国产精品爱久久久久久久小 |