Python 重新加载模块
reload() 用于重新加载先前导入或加载的模块。在交互会话中重复运行测试脚本的情况下,这非常方便,它总是使用正在开发的模块的第一个版本,即使我们对代码进行了更改。在这种情况下,我们需要确保模块被重新加载。传递给reload()的参数必须是成功导入的模块对象。
执行reload()时需要理解的几个要点如下:
- Python模块的代码将被重新编译,并重新执行模块级别的代码,定义一组新的对象,这些对象通过重用最初加载模块的加载程序与模块的字典中的名称绑定在一起。但是,模块的init函数不会被再次加载。
 - 
旧对象只有在引用计数降到零后才会被清除。
 - 
如果有的话,模块命名空间中的名称将更改为新对象。
 - 
其他引用旧对象的地方(如模块外部的名称)不一定引用新对象,如果需要,必须在每个出现的命名空间中更新它们。
 
如何加载一个模块
首先来看看如何在Python中加载一个模块。使用import语句进行加载−
import importlib
如何重新加载模块
reload()方法用于重新加载模块。传递给reload()的参数必须是一个成功导入的模块对象。
import importlib
importlib.reload(module)
示例
我们正在重新加载 importlib 模块 –
import sys
import importlib
importlib.reload(sys)
极客笔记