Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Programmatically get current IPython notebook cell output?

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.

like image 933
killajoule Avatar asked Jan 14 '15 21:01

killajoule


People also ask

How do you see the output of a cell in Jupyter Notebook?

Jupyter Notebook can print the output of each cell just below the cell. When you have a lot of output you can reduce the amount of space it takes up by clicking on the left side panel of the output. This will turn the output into a scrolling window.

What is Clear_output () in Python?

clear_output()` in a thread does not block until the output is cleared · Issue #3260 · jupyter-widgets/ipywidgets · GitHub. Product. Actions. Copilot. Security.


1 Answers

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)]' 
like image 78
MattDMo Avatar answered Sep 26 '22 03:09

MattDMo