I want to prevent a function to print in iPython notebook.

In standard python one can prevent printing some lines of code as answered in the question: To prevent a function from printing in the batch console in Python However this method do not work in iPython notebook, losing the output until a restart of the Kernel.

The most similar feature I found is to avoid a full cell to display using the magic function:

%%capture capt

However this magic function blocks the whole cell, is there any way in iPython notebook to avoid printing just some of the lines within the code?

有帮助吗?

解决方案

You could use io.capture_output:

from IPython.utils import io

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

to capture stdout and stderr for only those lines within the with-statement.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top