Python命令行解释器没有识别到我代码中的更新更改。
- 论坛
- Python命令行解释器没有识别到我代码中的更新更改。
12 浏览
匿名的
0 Comments
Python命令行解释器无法识别我代码中的更新更改的原因是因为当你在解释器中加载一个Python模块时,它会一次性读取所有导入的代码,然后将该代码缓存以供后续使用。这意味着如果你对模块进行任何更改,你需要告诉解释器重新加载其内容。解决这个问题非常简单:
>> import foo # 将foo代码在解释器中固定到导入时的状态 >> # [对foo代码进行更新] >> import importlib >> importlib.reload(foo)
这就是解决方法了!
需要注意的是:importlib是Python 3.4版本之后新增的模块。在此之前,imp模块具有相同的功能。在Python 2中,reload()函数就是默认命名空间的一部分。
在Python 3中,reload()不再是全局命名空间的一部分。正确的做法是使用importlib。
这真是个痛苦的事情。我会进行更新。