pythonscrollipythonpageripython-magic

How to print stdout excerpt in IPython


In a Linux terminal, when the output of one command is too long to read in one page, I can do this:

cat file | less

so that I can read and scroll up and down the output from the cat file.

How can I do this in IPython?

For example, I tried this and it didn't work:

whos | less

My original problem is that the output from whos is too much to be seen by doing Shift+Page Up and I don't want to change the scroll buffer.


Solution

  • In IPython, you can use %page obj to show the object obj using your standard pager (usually less). Alternatively, you can increase the scroll buffer of your terminal, which might be convenient in any case.

    %page obj -- display object similar to IPython default display (repr-like), using pager if output size requires

    %page -r obj -- display object similar to print, using pager if size requires

    %page can only take a plain name or attribute reference. It cannot evaluate an arbitrary expression, but you can use a temporary variable to work around this limitationL

    tmp = ex * pr + ess - ion
    %page tmp