Python 外掛程式化開發

2021-09-24 02:17:45 字數 881 閱讀 4963

執行時, 根據使用者需求(提供字串), 找到模組的資源動態載入起來

__import__(name, globals=none, locals=none, fromlist=(), level=0)
importlib.import_module(name, package=none)
# t8.py

classa:

defshowme

(self)

:print

('test'

)# 主程式模組 t10.py

import importlib

defplugin

(plugin_name:

str, sep=

':')

: m, _, c = plugin_name.partition(sep)

mod = importlib.import_module(m)

cls =

getattr

(mod, c)

return cls(

)if __name__ ==

'__main__'

: a = plugin(

't8:a'

) a.showme(

)

什麼時候載入合適呢 ?

程式啟動的時候, 還是程式執行中呢 ?

兩種方式各有利弊, 如果外掛程式過多, 會導致程式啟動很慢, 如果使用者需要時再載入, 外掛程式太大或者依賴太多, 外掛程式啟動也會很慢

所以先載入必須的, 常用的外掛程式, 其他外掛程式使用時再動態載入

python外掛程式化開發

動態匯入 執行時,根據使用者需求 提供字串 找到模組的資源動態載入起來。sys import sys 等價於import sys 在 xyz.py class a def show self0 print 123 在 主程式模組 if name main mod import xyz cls get...

Python 外掛程式化開發

1 動態匯入 執行時,根據使用者需求 提供字串 找到模組的資源動態載入起來。2 內建函式 import def import name,globals none,locals none,fromlist level 0 name 模組名 import語句本質上就是呼叫這個函式,但是不鼓勵直接使用它,...

元件化開發,外掛程式化開發和熱修復

外掛程式化開發和熱修復 所以外掛程式化比熱修復簡單,熱修復是在外掛程式化的基礎上在進行替舊的bug類 android元件化和外掛程式化開發 外掛程式化是在 執行時 而元件化是在 編譯時 換句話說,外掛程式化是基於多 apk 的,而元件化本質上還是只有乙個 apk。droidplugin small ...