指令碼語言都有乙個優點,就是動態載入。lua語言有這個優點,python也有這個特性。說簡單點就是,如果開發者發現自己的**有bug,那麼程式設計客棧他可以在不關閉原來**的基礎之上,動態替換模組。替換方法一般用reload來完成。
1、reload的基本原理
reload主要做了兩個動作,刪除原來的模組,新增新的模組
2、reload的等效**
del sys.modulagejykqcmes[module_name]
__import__(module_name)
3、reload使用的時候要注意什麼
3.1 reload的入口引數是module,不是字串,即
import sys
module = sys.modules[mod程式設計客棧ule_name]
3.2 過載的檔案只是對應模組的__init__.py檔案,如果是其他檔案,則不會生效
3.3 如果是目錄中其他檔案,則需要程式設計客棧分別重新載入,比如
import sys
del sys.moagejykqcmdules['module_name:sub_file']
__import__('module_name:sub_file')
或者是reload(sys.modules['module_name:sub_file'])
總結本文標題: python 動態載入的實現方法
本文位址:
python中動態載入模組和類方法實現
python中動態載入模組和類方法實現測試 檔名 mytest.py 具體 如下 注意 模組名,類名,方法名都是變數。coding utf 8 class testclass def sub self,a,b return a b def add self,a,b return a b def ec...
python動態載入包的方法小結
動態載入模組有三種方法 1.使用系統函式 import stringmodule import 程式設計客棧string 2.使用imp 模組 import imp stringmodule imp.load module string imp.find module string imp.load...
DLL的動態載入方法
動態呼叫動態庫步驟 1 建立乙個函式指標,其指標資料型別要與呼叫的dll引出函式相吻合。2 通過win32 api函式loadlibrary 顯式的呼叫dll,此函式返回dll的例項控制代碼。3 通過win32 api函式getprocaddress 獲取要呼叫的dll的函式位址,把結果賦給自定義函...