Canopy / Python充当未保存的更改

时间:2015-04-30 09:13:58

标签: python import module

以下文件全部保存在同一个“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更改已合并!

为什么?

1 个答案:

答案 0 :(得分:0)

我期待更完整的答案,但事实如下:

1)来自:https://docs.python.org/2/tutorial/modules.html

'出于效率原因,每个解释器会话只导入一个模块。因此,如果更改模块,则必须重新启动解释器 - 或者,如果它只是一个要交互式测试的模块,请使用reload(),例如,重新加载(MODULENAME)'

2)解决方法:reload(testdef)