0
我在python3以下情形重新導入更新模塊蟒蛇
from phase_2d import phase_2d
#WHERE phase_2d是一個Python文件phase_2d.py
我然後編輯這個文件,並想測試的變化,而無需退出python並重新加載所有內容。
imp.reload(phase_2d)
返回錯誤 '類型:錯誤:重載()的參數必須是模塊'
我在python3以下情形重新導入更新模塊蟒蛇
from phase_2d import phase_2d
#WHERE phase_2d是一個Python文件phase_2d.py
我然後編輯這個文件,並想測試的變化,而無需退出python並重新加載所有內容。
imp.reload(phase_2d)
返回錯誤 '類型:錯誤:重載()的參數必須是模塊'
既然你從模塊phase_2d進口phase_2d類,當你調用imp.reload(phase_2d),該phase_2d傳遞給reload命令的是類,而不是模塊。爲了使用reload命令,您必須導入實際模塊,否則將獲得對該模塊的引用。例如,你可以做這樣的事情:
import phase_2d
from phase_2d import phase_2d as p2d
...
imp.reload(phase_2d)
或者,如果你真的只是想從模塊導入單個類,你可以使用檢查模塊從類得到父模塊(http://docs.python.org/2/library/inspect.html#inspect.getmodule)
import inspect
from phase_2d import phase_2d
....
imp.reload(inspect.getmodule(phase_2d))