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

Python插件機制實現(xiàn)詳解

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

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

機制

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

描述

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

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

語法

__import__ 語法:

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

參數(shù)說明:

name -- 模塊名

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

sys.path.append(modulePath)

應(yīng)用示例

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

總結(jié)

使用插件機制可以實現(xiàn)高內(nèi)聚低耦合的程序。

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

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

補充知識:Kusto使用python plugin

整個流程為kusto的數(shù)據(jù)進(jìn)入python腳本時自動轉(zhuǎn)化為pandas DataFrame,

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

Python 腳本緊接著Kusto的輸出

注意以下幾點

1.typeof為python腳本輸出的參數(shù)

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

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

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

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

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

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

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

相關(guān)文章

  • Python讀取postgresql數(shù)據(jù)庫詳情

    Python讀取postgresql數(shù)據(jù)庫詳情

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

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

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

    pandas行和列的獲取的實現(xiàn)

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

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

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

    python?中的?return?解析

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

    詳解python中@的用法

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

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

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

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

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

    python對文件的操作方法匯總

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

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

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

最新評論

灵山县| 清远市| 太白县| 新营市| 铅山县| 大悟县| 大冶市| 贵州省| 文成县| 南岸区| 封开县| 芦山县| 贞丰县| 琼海市| 绥阳县| 合江县| 许昌县| 商丘市| 五寨县| 辛集市| 黄平县| 临颍县| 鄂伦春自治旗| 大安市| 车险| 师宗县| 大悟县| 廊坊市| 会理县| 加查县| 嵊泗县| 庆安县| 金华市| 贞丰县| 岢岚县| 钟山县| 图片| 宁阳县| 布尔津县| 叶城县| 明水县|