How do you suppress output in IPython Notebook?

2019-01-10 18:05发布

How can output to stdout be suppressed?

A semi-colon can be used to supress display of returned objects, for example

>>> 1+1
2

>>> 1+1;   # No output!

However, a function that prints to stdout is not affected by the semi-colon.

>>> print('Hello!')
Hello!

>>> MyFunction()
Calculating values...

How can the output from print / MyFunction be suppressed?

3条回答
兄弟一词,经得起流年.
2楼-- · 2019-01-10 18:42

Suppress output

Put a ; at the end of a line to suppress the printing of output [Reference].

查看更多
冷血范
3楼-- · 2019-01-10 18:54

Add %%capture as the first line of the cell. eg

%%capture
print('Hello')
MyFunction()

This simply discards the output, but the %%capture magic can be used to save the output to a variable - consult the docs

查看更多
做个烂人
4楼-- · 2019-01-10 18:56

(credit: https://stackoverflow.com/a/23611571/389812)

You could use io.capture_output:

from IPython.utils import io

with io.capture_output() as captured:
    MyFunction()

to supress (e.g. capture) stdout and stderr for those lines within the with-statement.

查看更多
登录 后发表回答