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))