python 動態載入的實現方法

2022-10-04 20:33:39 字數 708 閱讀 7873

指令碼語言都有乙個優點,就是動態載入。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的函式位址,把結果賦給自定義函...