IPython Documentation

Previous topic

rmagic

Next topic

sympyprinting

This Page

Note

This documentation is for a development version of IPython. There may be significant differences from the latest stable release (1.2.1).

storemagic

%store magic for lightweight persistence.

Stores variables, aliases and macros in IPython’s database.

To automatically restore stored variables at startup, add this to your ipython_config.py file:

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

Lightweight persistence for python variables.

Example:

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
NameError: name 'l' is not defined
In [2]: %store -r
In [3]: l
Out[3]: ['hello', 10, 'world']

Usage:

  • %store - Show list of all variables and their current

    values

  • %store spam - Store the current value of the variable spam

    to disk

  • %store -d spam - Remove the variable and its value from storage

  • %store -z - Remove all variables from storage

  • %store -r - Refresh all variables from store (overwrite

    current vals)

  • %store -r spam bar - Refresh specified variables from store

    (delete current val)

  • %store foo >a.txt - Store value of foo to new file a.txt

  • %store foo >>a.txt - Append value of foo to file a.txt

It should be noted that if you change the value of a variable, you need to %store it again if you want to persist the new value.

Note also that the variables will need to be pickleable; most basic python types can be safely %store’d.

Also aliases can be %store’d across sessions.