最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python插件機制實現詳解

 更新時間:2020年05月04日 17:29:23   作者:力為  
這篇文章主要介紹了Python插件機制實現詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

插件機制是代碼/功能反向依賴注入到主體程序的一種方法,編譯型語言通過動態(tài)加載動態(tài)庫實現插件。對于Python這樣的腳本語言,實現插件機制更簡單。

機制

Python的__import__方法可以動態(tài)地加載Python文件,即以某個py腳本的文件名作為__import__的參數,在程序運行的時候加載py腳本程序模塊。對應的import關鍵字則是靜態(tài)加載依賴的py模塊。

描述

__import__() 函數用于動態(tài)加載類和函數 。

如果一個模塊經常變化就可以使用 __import__() 來動態(tài)載入。

語法

__import__ 語法:

__import__(name[, globals[, locals[, fromlist[, level]]]])

參數說明:

name -- 模塊名

需要動態(tài)加載的py腳本若存放在任意的目錄下,則需要首先需要增加腳本查找路徑:

sys.path.append(modulePath)

應用示例

# 增加查找路徑
sys.path.append(modulePath)
# 加載腳本
module = __import__(moduleName) 
# 保存腳本對象,否則會被析構    
self.modules[moduleName] = module
# 調用插件中的方法初始化
module.InitModule(self) 

總結

使用插件機制可以實現高內聚低耦合的程序。

在實踐中,我們處理的任務有若干的可執(zhí)行程序配合完成,可執(zhí)行程序可以是C++,.Net , Java,甚至其他腳本程序,這時候我們使用Python作為粘合劑,定義了主體的任務流程框架,使用插件機制動態(tài)的注入需要執(zhí)行的任務。

另外當在不同的情況下,需要使用不同的exe配合的時候,我們只需要用json定義需要的exe組合,主程序不需要做任何的更改就可以滿足變換的業(yè)務需求。

補充知識:Kusto使用python plugin

整個流程為kusto的數據進入python腳本時自動轉化為pandas DataFrame,

python 腳本的輸出自動轉化為kusto table,其中列名和變量都保持不變。

Python 腳本緊接著Kusto的輸出

注意以下幾點

1.typeof為python腳本輸出的參數

2.typeof 中的數據類型跟python腳本輸出pandas DataFrame列是完全一致的,包括變量名,變量類型,前后不一致的話會報錯

3.typeof 中*表示復用輸入的數據類型, 比如( *,age:int) 表示輸入在輸出的基礎上多個了age屬性

4. python腳本的輸入是轉化為DataFrame 的kusto table, 其在python腳本里的變量名為df(會自動匹配上), 同時我們要讓輸出的DataFrame 命名為result, 程序會自動輸出

5. python 中可以接受外界參數,通過 kargs["topK"]這樣的形式,kargs是系統(tǒng)默認的傳遞參數的變量, 同時kusto在python腳本的最后通過pack("topK", 10)這樣的形式往python腳本中傳遞參數

6 .python腳本可以直接寫在kusto代碼中,也可以以鏈接的形式訪問

7. kusto 中的python運行企業(yè)版的anaconda上,個人沒法輕易安裝自己想要的包,所以如果要使用某些包,最好是將其功能用最基本的包寫好。kusto 運行鏡像的沙盒支持 numpy ,pd, 以及tensorflow ,keras ,torch hdbscan, xgboost 這些比較大眾的包

以上這篇Python插件機制實現詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python讀取postgresql數據庫詳情

    Python讀取postgresql數據庫詳情

    這篇文章主要介紹了Python讀取postgresql數據庫詳情,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 使用python制作一個簡單的井字棋游戲

    使用python制作一個簡單的井字棋游戲

    井字棋(Tic-Tac-Toe)是一種經典的兩人棋盤游戲,通常由兩名玩家輪流下棋,目標是在一個3x3的棋盤上先形成橫向、縱向或對角線的三個棋子,本文將介紹如何使用 Python 制作一個簡單的井字棋游戲、包括游戲規(guī)則、界面設計和實現代碼,需要的朋友可以參考下
    2023-11-11
  • pandas行和列的獲取的實現

    pandas行和列的獲取的實現

    本文主要介紹了pandas行和列的獲取的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • Python注釋、分支結構、循環(huán)結構、偽“選擇結構”用法實例分析

    Python注釋、分支結構、循環(huán)結構、偽“選擇結構”用法實例分析

    這篇文章主要介紹了Python注釋、分支結構、循環(huán)結構、偽“選擇結構”用法,結合實例形式分析了Python注釋、分支結構、循環(huán)結構、偽“選擇結構”相關功能、用法及操作注意事項,需要的朋友可以參考下
    2020-01-01
  • python?中的?return?解析

    python?中的?return?解析

    這篇文章主要介紹了python?中的?return?解析,return?語句用于退出函數,向調用方返回一個表達式。執(zhí)行到?return?語句時,會退出函數,return?之后的語句不再執(zhí),下文下邊就利用舉例給大家講解該內容得相關資料,需要的小伙伴可以參考一下
    2022-02-02
  • 詳解python中@的用法

    詳解python中@的用法

    這篇文章主要介紹了python中@的用法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 分享Python開發(fā)中要注意的十個小貼士

    分享Python開發(fā)中要注意的十個小貼士

    不管是python開發(fā)還是其他什么語言的開發(fā),如果在開發(fā)中我們能掌握一些有用的貼士和技巧,那么肯定會大大提高我們的開發(fā)效率,今天小編和大家分享的就是python開發(fā)中,一些初學這門語言常常會犯的錯誤,一起來看看吧。
    2016-08-08
  • PaddleOCR 識別表情包文字示例詳解

    PaddleOCR 識別表情包文字示例詳解

    這篇文章主要為大家介紹了PaddleOCR 識別表情包文字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • python對文件的操作方法匯總

    python對文件的操作方法匯總

    這篇文章主要介紹了python對文件的操作方法匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • opencv python 2D直方圖的示例代碼

    opencv python 2D直方圖的示例代碼

    這篇文章主要介紹了opencv python 2D直方圖的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07

最新評論

丽水市| 天祝| 苏尼特右旗| 丹棱县| 东莞市| 嘉荫县| 肇庆市| 普安县| 彰化市| 长泰县| 益阳市| 大埔县| 黔西县| 健康| 敖汉旗| 常德市| 乃东县| 南昌县| 巫溪县| 高雄市| 曲周县| 曲水县| 巩留县| 游戏| 科技| 阿瓦提县| 左贡县| 内江市| 巴塘县| 大新县| 洛宁县| 丽水市| 望都县| 诸暨市| 昌平区| 久治县| 庄浪县| 洛宁县| 开原市| 沙湾县| 贡嘎县|