以下文件全部保存在同一个“CurrenDir”位置:
TestImport.py
import sys
sys.path.append('whatever')
from testdef import *
what='Hey'
test(what)
testdef.py
def test(what):
print what + ' you!'
正如预期的那样运行TestImport.py:
Hey you!
现在我将testdef.py更改并保存到:
def test(what):
print what + ' you???????'
正如预期的那样运行TestImport.py打印:
Hey you!
编辑:但是,如果我重新启动Canopy更改已合并!
为什么?
答案 0 :(得分:0)
我期待更完整的答案,但事实如下:
1)来自:https://docs.python.org/2/tutorial/modules.html
'出于效率原因,每个解释器会话只导入一个模块。因此,如果更改模块,则必须重新启动解释器 - 或者,如果它只是一个要交互式测试的模块,请使用reload(),例如,重新加载(MODULENAME)'
2)解决方法:reload(testdef)