python3中reload()函式報錯怎麼解決
reload函式是使用模組名稱,而不是變數名稱,也就是說當你把它改變了名稱,它也是載入原來的名稱。
當使用reload時,這個模組會被重新編譯,新的模組替換原來的模組。如果之前從這個模組建立的例項仍然使用舊的模組實現。特別是使用from-import語句載入的名稱,也不會被更新。
# File: builtin-reload-example-1.py from imp import reload import hello reload(hello) reload(hello)
輸出如下
=== RESTART: D:/work/csdn/python_Game1/example/builtin-reload-example-1.py === hello again, and welcome to the show hello again, and welcome to the show hello again, and welcome to the show >>>
這裡helo.py程式碼如下:
print('hello again, and welcome to the show')
總結 :
1. 如果模組在語法上是正確的,但在初始化過程中失敗,則匯入過程不能正確地將模組的名字繫結到符號表中。這時,必須在模組能被重新載入之前使用import()函式載入該模組。
2. 重新載入的模組不刪除最初舊版本模組在符號表中的登記項。
3. 如果一模組利用from。。。import。。。方式從另一模組匯入物件,reload()函式不重新定義匯入的物件,可利用import。。。形式避免這個問題。
4. 提供類的重新載入模組不影響所提供類的任何已存例項---已存例項將繼續使用原來的方法定義,只有該類的新例項使用新格式。這個原則對派生類同樣適用。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1343/viewspace-2836742/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mongodb find報錯怎麼解決MongoDB
- Jtti:linux中vboxmanage報錯怎麼解決JttiLinux
- mysql匯入報錯怎麼解決?MySql
- python3程式碼中函式切割列表怎麼實現?Python函式
- python3中輸出錯誤怎麼辦?Python
- 請問這個報錯該怎麼解決,謝謝
- postgresql中怎麼檢視函式SQL函式
- mysql中的if函式怎麼用MySql函式
- Python3 函式是什麼Python函式
- 下面EJB中的RealationShip錯誤怎麼解決呢?
- Python3中的函式 大全Python函式
- HTTP代理錯誤怎麼解決?HTTP
- Python中randrange()函式怎麼用?Python函式
- python的input函式出錯怎麼辦Python函式
- VSCode中Flow報錯解決VSCode
- Ant+jmeter 生成報告時報錯引用字元&#,怎麼解決JMeter字元
- python3的urllib2報錯問題解決方法Python
- 函式: 函式是怎麼使用的?函式
- python中的find函式怎麼用Python函式
- python3中 print不加括號報錯!Python
- Win10系統開機出現SQL報錯怎麼解決Win10SQL
- mybatis報錯解決MyBatis
- anaconda安裝出錯怎麼解決?
- 代理508限制錯誤怎麼解決?
- Python中open函式怎麼操作檔案Python函式
- python3中實現函式的過載Python函式
- win10 儲存excel報錯 許可權問題怎麼解決Win10Excel
- 華納雲:資料庫出現ORA-00604報錯怎麼解決資料庫
- python3 print報錯Python
- 在Weblogic中建立域(含報錯解決)Web
- 解決fitz模組報錯
- SS報錯的解決
- 解決eslint報錯EsLint
- iText中文,報錯解決
- setInterval()呼叫其他函式時候報錯函式
- python安裝scrapy出錯怎麼解決Python
- Apache啟動報錯No space left on device: AH00023該怎麼解決Apachedev
- 解決報錯?怎麼用Pycharm在專案裡配置python直譯器?PyCharmPython