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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Jtti:linux中vboxmanage報錯怎麼解決JttiLinux
- mongodb find報錯怎麼解決MongoDB
- python3程式碼中函式切割列表怎麼實現?Python函式
- mysql匯入報錯怎麼解決?MySql
- python3中輸出錯誤怎麼辦?Python
- Python3 函式是什麼Python函式
- Python3中的函式 大全Python函式
- python的input函式出錯怎麼辦Python函式
- VSCode中Flow報錯解決VSCode
- 請問這個報錯該怎麼解決,謝謝
- Python中randrange()函式怎麼用?Python函式
- mysql中的if函式怎麼用MySql函式
- postgresql中怎麼檢視函式SQL函式
- HTTP代理錯誤怎麼解決?HTTP
- Ant+jmeter 生成報告時報錯引用字元&#,怎麼解決JMeter字元
- python中的find函式怎麼用Python函式
- 函式: 函式是怎麼使用的?函式
- 代理508限制錯誤怎麼解決?
- anaconda安裝出錯怎麼解決?
- python3中 print不加括號報錯!Python
- Python中open函式怎麼操作檔案Python函式
- Python 解決 :NameError: name 'reload' is not defined 問題PythonError
- 解決eslint報錯EsLint
- mybatis報錯解決MyBatis
- python3 print報錯Python
- Python3 range() 函式用法Python函式
- win10更新報錯0x80070015怎麼解決 win10系統更新出錯怎麼辦Win10
- python安裝scrapy出錯怎麼解決Python
- Apache啟動報錯No space left on device: AH00023該怎麼解決Apachedev
- 在c中,怎麼註冊回撥函式函式
- 華納雲:資料庫出現ORA-00604報錯怎麼解決資料庫
- 解決報錯?怎麼用Pycharm在專案裡配置python直譯器?PyCharmPython
- win10 儲存excel報錯 許可權問題怎麼解決Win10Excel
- PHP-fpm Linux 環境使用 exec 函式呼叫 FFmpeg,報錯 FFmpeg: command not found 的解決方法PHPLinux函式
- supervisor使用報錯解決
- iText中文,報錯解決
- SS報錯的解決
- npm install 報錯解決NPM