154

如何stdout抑制输出?

分号可用于禁止显示返回的对象,例如

>>> 1+1
2

>>> 1+1;   # No output!

但是,打印到标准输出的函数不受分号的影响。

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

>>> MyFunction()
Calculating values...

如何抑制print/的输出?MyFunction

4

4 回答 4

236

添加%%capture为单元格的第一行。例如

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

这只是丢弃了输出,但%%capture可以使用魔法将输出保存到变量 -请参阅文档

于 2014-05-16T05:01:37.807 回答
115

抑制输出

将 a;放在行尾以抑制输出 [ Reference ] 的打印。

一个好的做法是始终从函数返回值,而不是在函数内打印值。在这种情况下,您可以控制;如果要打印返回值,可以;否则,它不会仅仅通过添加一个 ; 来打印。在函数调用之后。

于 2017-04-06T20:35:40.443 回答
31

(信用:https ://stackoverflow.com/a/23611571/389812 )

您可以使用io.capture_output

from IPython.utils import io

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

with-statement.

于 2018-09-28T16:42:21.307 回答
-5

如果有人有兴趣清除所有输出:

  1. 转到单元格
  2. 转到所有输出

然后选择您喜欢的任何选项。

于 2019-08-29T14:22:56.013 回答