ipython笔记本关闭后保存变量

Posted

技术标签:

【中文标题】ipython笔记本关闭后保存变量【英文标题】:ipython notebook save variables after closing 【发布时间】:2015-08-25 17:59:26 【问题描述】:

关闭 ipython 笔记本后,我意识到所有代码都在那里,但命名空间已被重置,因为我之前的所有变量都消失了。 有没有办法可以保存变量,这样当我重新打开 ipython notebook 时,变量都在那里而不需要重新运行代码?

【问题讨论】:

我真的不知道,但是 IPython 会启动 python 内核,当你关闭它时,这些内核会被杀死,因此,所有 vcariables 都会消失。我不知道 IPython 是否有存储变量的机制(有点怀疑),但你可以手动 pickle 需要的变量(比如在笔记本的最后一个单元格中)并在 tbe 中加载它们(也可以使用 pickle)第一个细胞。然而,这就是为什么你有run all 选项来避免这种情况。我运行机器学习程序,有时我确实使用pickle 来存储学习分类器(复杂/耗时的结果)。 【参考方案1】:

使用 storemagic 命令。http://ipython.org/ipython-doc/rel-0.12/config/extensions/storemagic.html

In [1]: l = ['hello',10,'world']
In [2]: %store l
In [3]: exit

(IPython session is closed and started again...)

ville@badger:~$ ipython
In [1]: l
Out[1]: ['hello', 10, 'world']

【讨论】:

它似乎只能与可挑选的变量一起使用 - 在我的情况下,它是一个不可腌制的 DataFrame - 但这肯定会有用。谢谢!

以上是关于ipython笔记本关闭后保存变量的主要内容,如果未能解决你的问题,请参考以下文章

IPython notebook:如何编写可以访问笔记本变量的单元魔术?

python 自动将Jupyter笔记本保存为.py和.html文件。添加到关联配置文件的ipython_notebook_config.py文件中。

如何将文本文件 (.py) 加载/编辑/运行/保存到 IPython 笔记本单元格中?

在笔记本中组合jupyter / ipython内核

如何获得IPython或Jupyter笔记本中最近执行的'执行计数'

Python数据分析笔记系列:Python语法基础,IPython和Jupyter Notebooks