Is there an easy way to access variables in the IPython interactive namespace. While implementing a project that has a slow load command, I would like to run a script to load the data into the interactive work space, then call a second script that uses the data, like is possible with MATLAB.
In this simple case, what I want to do is
In [20]: a=5
In [21]: run tst
where tst.py is just
print a
The idea is that I want to run the loading script once, then just work on tst.py.
Thanks!
There is no easy or smart way to do this. One way would be to have a
main
function in your test function and then pass in theglobals
from your environment to update theglobals
in the caller. For example:tst.py
And then in iPython:
Try using the -i option on IPython's magic run command; it makes the script run using the current interactive namespace, e.g. with
load.py:
tst.py:
From IPython I get;