我有一个模块可以帮助我处理代码和全局变量,以及笔记本上的运行文件。
我使用from my_module import *
导入它并且它有效。当我更改模块上的函数定义时,笔记本上的autoreload
就好了,但是当我在模块中更改它时,我定义的全局变量不 - 我必须重新启动内核
有没有办法为它们实现自动重载而不将它们放在函数或类中?
答案 0 :(得分:0)
名为importlib
的模块允许访问导入内部部件。特别是,它提供了功能importlib.reload()
。
import importlib
importlib.reload(my_module)
importlib.reload()
正确地重新读取模块并重置全局变量。
importlib
仅从Python 3.1开始可用。对于旧版本,您必须使用模块imp
。