Python命令行解释器无法识别我的代码中的更新更改?

时间:2015-07-16 23:53:21

标签: python python-3.4

我使用Atom文本编辑器编写代码,然后导入Python 3.4命令行解释器。如果我在代码中犯了错误并且必须进行修复,那么在我关闭并重新打开它之前,我无法看到解释器中反映的更改。即使我重新导入文件,也会发生这种情况。它是否有我需要清除的缓存?如何在不关闭代码的情况下看到解释器中的代码更改?

1 个答案:

答案 0 :(得分:1)

在解释器中加载python模块时,它会读取所有导入的代码一次,然后缓存该代码供以后使用。这意味着如果您对模块进行任何更改,则必须告诉解释器重新加载其内容。这很容易做到:

>> import foo  # crystallizes foo code in your interpreter to the state it was in at time of import

>> # [updates made to foo code]

>> import importlib
>> importlib.reload(foo)

那应该是它!

[注意:importlib是python 3.4中的新功能。在此之前,imp具有相同的功能。在python 2中,reload()函数只是默认命名空间的一部分。]