python中reload重載實例用法
當我們想對python中原有的模塊進行覆蓋,又不希望退出當前的程序,就需要用到重載的概念。這樣既能使模塊得到更新,又不影響解釋器的使用。在導入的模塊上,也是對之前原有模塊的一次覆蓋,包括最初導入時所加載的各種過程。下面我們學習reload的一些基礎內容,在實例中體會加載功能。
1.裝載MyModule語法演示:
from imp import reload reload(MyModule)
2.參數
module -- 模塊對象。
3.返回值
返回模塊對象。
4.實例
當前目錄下有一個test.py :
# i am test.pynum = 1
Python console :
>>> import test>>> test.num1
在腳本運行期,如果 test.py 中的num 改為2,此時需要熱更:
# i am test.pynum = 2
Python console :
>>> from importlib import reload>>> reload(test)<module ’test’ from ’/home/xiaojie/URun.ResearchPrototype/People/Xiaojie/test.py’>>>> test.num2
注意:reload函數希望獲得的參數是一個已經加載了的模塊對象的名稱,所以如果在重載之前,請確保已經成功地導入了這個模塊。
說明:Python 3.0把reload內置函數移到了imp標準庫模塊中。它仍然像以前一樣重載文件,但是,必須導入它才能使用。
知識點擴展:
python3中reload()中出現錯誤的原因
>>> import os>>> os.getcwd()’C:CodingApppython’>>> os.chdir(r’C:UsersJIANCHENPycharmProjects決策樹src’)>>> os.getcwd()’C:UsersJIANCHENPycharmProjects決策樹src’>>> from imp import reloadWarning (from warnings module): File '__main__', line 1DeprecationWarning: the imp module is deprecated in favour of importlib; see the module’s documentation for alternative uses>>> reload(index)Traceback (most recent call last): File '<pyshell#5>', line 1, in <module> reload(index)NameError: name ’index’ is not defined>>> import index>>> reload(index)<module ’index’ from ’C:UsersJIANCHENPycharmProjects決策樹srcindex.py’>
總結:在reload之前要import
到此這篇關于python中reload重載實例用法的文章就介紹到這了,更多相關python中如何使用reload重載內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
