Ala*_*anH 8 python debugging enthought python-2.7
我有一个名为 的文件test_file
,它旨在测试另一个名为file
. 'test_file' 还包含.txt
同一目录中的一个文件。当我更新时file
,保存,选择“更改为编辑器目录...”,然后运行test_file
,Enthought 似乎无法识别file
已更新。起初我原本以为我每次更新时,选择“更改为编辑目录”选项file
,我也这样做,但test_file
仍然打印“成功”,即使我刻意修改file
,使test_file
应打印假的。(是的,我确定它应该打印 false,因为我在 中添加了一堆乱码file
,甚至不应该运行的代码,例如抛出return
带有明显不正确缩进的语句)。所以,本质上,Enthought Canopy 没有意识到我已经更新了file
.
但是,如果我保存并退出所有内容,重新打开Enthought,选择“更改为编辑器目录”,然后运行test_file
,它会打印正确的结果。
这非常令人沮丧,因为在我意识到这一点之前,我花了几天时间调试正确的代码。这让我非常担心,因为我不知道我过去测试的内容是否真的正确,而且我不希望将来发生这种情况。
造成这种情况的可能原因是什么?(注:不知道这是Enthought问题还是Python问题)
没有看到代码很难说,但我怀疑它file
是使用等效于import file
. Python 缓存导入的模块,因此它不会获取file
. 这是一个 Python 功能,独立于 Enthought Canopy。
如果是这种情况,您可以通过在导入后添加对reload
( http://bit.ly/1E97V4n )的调用来解决问题test_file
,以明确强制重新加载模块:
import file
reload(file)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9377 次 |
最近记录: |