import utils; reload(utils)
from utils import *
为什么需要加载两次? 'reload'不是内置函数。正确?
答案 0 :(得分:2)
最好的方法是查看reload
document,其中包含:
重新编译Python模块的代码并重新执行模块级代码,定义一组新的对象,这些对象绑定到模块字典中的名称。第二次不调用扩展模块的init函数。
与Python中的所有其他对象一样,旧对象仅在其引用计数降至零后才会被回收。
模块命名空间中的名称已更新以指向任何新的或更改的对象。
- 醇>
其他对旧对象的引用(例如模块外部的名称)不会反弹以引用新对象,必须在每个名称空间发生更新如果需要。
答案 1 :(得分:1)
在这种情况下“重装”会做什么?
这取决于utils
的作用...例如,如果导入utils
有副作用,那么该效果将再次发生。
另请注意,在任何生产代码中使用reload
绝对是您想要避免的。 reload
存在的主要原因是交互式使用......