重要

本文档涵盖 IPython 6.0 及更高版本。从 6.0 版开始,IPython 不再支持与低于 3.3 的 Python 版本兼容,包括所有版本的 Python 2.7。

如果您正在寻找与 Python 2.7 兼容的 IPython 版本,请使用 IPython 5.x LTS 版本并参阅其文档(LTS 是长期支持版本)。

storemagic

%store 魔术用于轻量级持久性。

将变量、别名和宏存储在 IPython 的数据库中。

要在启动时自动还原存储的变量,请将此内容添加到您的 ipython_config.py 文件

c.StoreMagics.autorestore = True
StoreMagics.store(parameter_s='')

Python 变量的轻量级持久性。

示例

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

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

ville@badger:~$ ipython
In [1]: l
NameError: name 'l' is not defined
In [2]: %store -r
In [3]: l
Out[3]: ['hello', 10, 'world']

用法

  • %store - 显示所有变量及其当前值的列表

  • %store spam bar - 将变量 spam 的当前值存储到磁盘

    和 bar

  • %store -d spam - 从存储中删除变量及其值

  • %store -z - 从存储中删除所有变量

  • %store -r - 从存储中刷新所有变量、别名和目录历史记录

    (覆盖当前值)

  • %store -r spam bar - 从存储中刷新指定的变量和别名

    (删除当前值)

  • %store foo >a.txt - 将 foo 的值存储到新文件 a.txt

  • %store foo >>a.txt - 将 foo 的值追加到文件 a.txt

需要注意的是,如果您更改了变量的值,则需要再次 %store 它,如果您想要保留新值。

还要注意,变量需要可 pickle;大多数基本 python 类型可以安全地 %store’d。

别名也可以跨会话 %store’d。要从存储中删除别名,请使用 %unalias 魔术。