Issue
I have an imported function that runs in an IPython notebook (input cell X) which produces an output (in output cell X). After the function runs, I have some more code (also in input cell X); is there any way for that code to retrieve the current output (in output cell X)?
There may be other ways to do what I am trying to achieve; but I am curious if the above is possible.
Solution
IPython's output caching system defines several global variables:
- [
_
] (a single underscore): stores previous output, like Python’s default interpreter. - [
__
] (two underscores): next previous. - [
___
] (three underscores): next-next previous.
Additionally, after each output x
is created, there is a variable _<x>
created with the output as its value. For example:
In [12]: lst = [i for i in range(11)]
In [13]: lst
Out[13]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
In [14]: _13
Out[14]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Also, if you're interested, _i<x>
contains the contents of the input cell x
:
In [15]: _i12
Out[15]: 'lst = [i for i in range(11)]'
Answered By - MattDMo
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.