在 ipython 笔记本中重新加载全局变量

Dea*_*nLa 5 ipython python-3.x jupyter-notebook

我有一个可以帮助我处理代码和全局变量的模块,以及笔记本上的运行文件。我用来from my_module import *导入它并且它有效。当我更改模块上的函数定义时,它们autoreload在笔记本上很好,但我定义的全局变量却没有- 我必须重新启动内核。

有没有办法实现它们的自动重新加载而不将它们放入函数或类中?

Jér*_*ler 1

importlib名为允许访问导入内部的模块。特别是,它提供了功能importlib.reload()

import importlib
importlib.reload(my_module)
Run Code Online (Sandbox Code Playgroud)

importlib.reload()正确地重新读取模块并重置全局变量。

importlib仅自 Python 3.1 起可用。对于旧版本,您必须使用 module imp