91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現Python importlib動態導入模塊

發布時間:2020-08-03 11:34:10 來源:億速云 閱讀:341 作者:小豬 欄目:開發技術

小編這次要給大家分享的是如何實現Python importlib動態導入模塊,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

閱讀目錄

  一般而言,當我們需要某些功能的模塊時(無論是內置模塊或自定義功能的模塊),可以通過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.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

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

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import importlib

script_name = input('please input script_name : ')     # 手動輸入腳本名               
module = importlib.import_module('scripts.{}'.format(script_name))    # 動態導入相應模塊
func = module.poc('')      # 執行腳本功能
print(module.description)    # 獲取腳本描述信息
please input script_name : test1
it is a test1
it is a test1

...

please input script_name : test3
it is a test3
it 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 importlib動態導入模塊的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金湖县| 抚顺县| 庆城县| 栾川县| 伊川县| 南陵县| 健康| 茌平县| 如东县| 千阳县| 永靖县| 玛纳斯县| 阳曲县| 东海县| 公安县| 晋中市| 定陶县| 韶山市| 勐海县| 和静县| 墨江| 乡宁县| 阳原县| 修水县| 鸡西市| 广德县| 镇江市| 新巴尔虎左旗| 南皮县| 陆良县| 桂林市| 通许县| 河曲县| 永胜县| 应城市| 耿马| 巨野县| 永善县| 临城县| 连州市| 乌审旗|