python中reload重載實(shí)例用法
當(dāng)我們想對(duì)python中原有的模塊進(jìn)行覆蓋,又不希望退出當(dāng)前的程序,就需要用到重載的概念。這樣既能使模塊得到更新,又不影響解釋器的使用。在導(dǎo)入的模塊上,也是對(duì)之前原有模塊的一次覆蓋,包括最初導(dǎo)入時(shí)所加載的各種過程。下面我們學(xué)習(xí)reload的一些基礎(chǔ)內(nèi)容,在實(shí)例中體會(huì)加載功能。
1.裝載MyModule語法演示:
from imp import reload reload(MyModule)
2.參數(shù)
module -- 模塊對(duì)象。
3.返回值
返回模塊對(duì)象。
4.實(shí)例
當(dāng)前目錄下有一個(gè)test.py :
# i am test.pynum = 1
Python console :
>>> import test>>> test.num1
在腳本運(yùn)行期,如果 test.py 中的num 改為2,此時(shí)需要熱更:
# 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函數(shù)希望獲得的參數(shù)是一個(gè)已經(jīng)加載了的模塊對(duì)象的名稱,所以如果在重載之前,請(qǐng)確保已經(jīng)成功地導(dǎo)入了這個(gè)模塊。
說明:Python 3.0把reload內(nèi)置函數(shù)移到了imp標(biāo)準(zhǔn)庫(kù)模塊中。它仍然像以前一樣重載文件,但是,必須導(dǎo)入它才能使用。
知識(shí)點(diǎn)擴(kuò)展:
python3中reload()中出現(xiàn)錯(cuò)誤的原因
>>> 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’>
總結(jié):在reload之前要import
到此這篇關(guān)于python中reload重載實(shí)例用法的文章就介紹到這了,更多相關(guān)python中如何使用reload重載內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. Android實(shí)現(xiàn)簡(jiǎn)單用戶注冊(cè)案例2. asp知識(shí)整理筆記4(問答模式)3. Python實(shí)現(xiàn)播放和錄制聲音的功能4. AJAX的跨域問題解決方案5. ASP腳本組件實(shí)現(xiàn)服務(wù)器重啟6. python 爬取豆瓣網(wǎng)頁(yè)的示例7. Python爬取酷狗MP3音頻的步驟8. 詳解JavaScript的this指向和綁定9. Xml簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理10. 深入理解Android熱修復(fù)技術(shù)原理之代碼熱修復(fù)技術(shù)
