python reload error
1、Python2中可以和Python3中關於reload()用法的區別。Python2 中可以直接使用reload(module)過載模組。
Pyhton3中需要使用如下兩種方式:
方式(1)
from importlib
imp.reload(module)
方式(2)
from importlib import reload
reload(module)
2、Python中使用import和reload()出現錯誤的原因
在Python中,以py為副檔名儲存的檔案就可以認為是一個模組,模組包含了 Python 物件定義和Python語句。
假設recommendations.py放在C:\Python34\PCI_Code\chapter2\目錄下,其中包含函式critics
如果在import函式的時候出現如下錯誤:
from recommendation import critics
Traceback (most recent call last):
File “<pyshell#7>”, line 1, in
from recommendation import critics
ImportError: No module named ‘recommendation’
請把目錄C:\Python34\PCI_Code\chapter2\加到系統路徑中,
import sys
sys.path.append(“C:\Python34\PCI_Code\chapter2”)
from recommendations import critics
或者切換到檔案所在的目錄中,
C:\Python34\PCI_Code\chapter2>python
from recommendations import *
使用reload()時出現如下錯誤
from imp import reload
reload(recommendations)
Traceback (most recent call last):
File “<pyshell#86>”, line 1, in
reload(recommendations)
NameError: name ‘recommendations’ is not define
原因是因為在reload某個模組的時候,需要先import來載入需要的模組,這時候再去reload就不會有問題,具體看下面程式碼:
from imp import reload
reload(recommendations)
import recommendations
<module ‘recommendations’ from ‘C:\Python34\PCI_Code\chapter2\recommendations.py’>