在 ipyththtips &Tricks,它说在命令的末尾放一个分号(;)来抑制它的输出。这似乎不工作在我的情况下,即使是
print('Hello');
输出Hello
我有错误的想法输出抑制或这是一个bug?在PuDB中工作时,这尤其令人讨厌,因为当我按下'next'或'step into'时,它会在我的情况下闪烁。
注::输出既不是我的Ubuntu IPython 0.10也不是OS X v10.7 (Lion) IPython 0.11抑制。虽然闪烁问题在OS X中更严重,可能是因为item2.
试试1 + 1;
。如果没有分号,它应该通过打印结果给您反馈(由repr
格式化,尽管在整数的情况下这无关紧要)—我假设应该抑制这个输出。
shell不会(也不应该)抑制对碰巧被sys.stdout
引用的文件的写入(这基本上是print
所做的)。这是完全不同的事情,不是shell的工作。
添加%%capture
作为单元格的第一行。例如,
%%capture
print('Hello')
这只是丢弃输出,但是可以使用%%capture
魔术将输出保存到一个变量中—请参阅文档。
这是另一个来自Dataquest - 28 Jupyter Notebook提示,技巧和快捷方式的例子:
# Use a semicolon to suppress the output of a final function.
%matplotlib inline
from matplotlib import pyplot as plt
import numpy
x = numpy.linspace(0, 1, 1000)**1.5
plt.hist(x); # Output not suppressed w/ semicolon?
和一个"working"分号抑制:
x = 1 + 1
x; # Output suppressed with semicolon!
因此,对于语句,它似乎会抑制,这些语句通常会显示在终端中,而不是"inline"类型,如情节。