IPython,用于抑制输出的分号无效

IPython,用于抑制输出的分号无效,ipython,suppression,Ipython,Suppression,在文档中,它说在命令末尾加一个分号(;),以抑制其输出。这在我的情况下似乎不起作用 >>> \>>> print('Hello'); --> 'Hello' 我是否对输出抑制有错误的想法,或者这是一个bug?在pudb中工作时,这尤其令人讨厌,因为在我按下“下一步”或“进入”时,它会可怕地闪烁 另外,我的ubuntu ipython 0.10和osx lion ipython 0.11都没有禁止输出。虽然osx中的闪烁问题更严重,可能是因为item

在文档中,它说在命令末尾加一个分号(;),以抑制其输出。这在我的情况下似乎不起作用

>>> \>>> print('Hello');  
--> 'Hello'
我是否对输出抑制有错误的想法,或者这是一个bug?在pudb中工作时,这尤其令人讨厌,因为在我按下“下一步”或“进入”时,它会可怕地闪烁


另外,我的ubuntu ipython 0.10和osx lion ipython 0.11都没有禁止输出。虽然osx中的闪烁问题更严重,可能是因为item2。

尝试类似
1+1。如果没有分号,它应该通过打印结果给您反馈(格式为
repr
,但对于整数来说并不重要)——我假设应该抑制的是这个输出。shell不会(也不应该)禁止写入恰好由
sys.stdout
引用的文件(这基本上就是
print
所做的)。这是一个完全不同的问题,而不是shell的工作。

添加
%%capture
作为单元格的第一行。乙二醇

%%capture
print('Hello')

这只会丢弃输出,但可以使用
%%capture
魔术将输出保存到变量-

以下是文章中的另一个示例:

以及“工作”分号抑制的示例:

x = 1 + 1
x; # Output suppressed w/ semicolon!

因此,它似乎抑制了通常出现在终端中的语句,而不是“内联”类型,如绘图。

只是要确认,delnan在这方面是非常正确的-这是一个表达式的结果,您可以抑制,而不是打印内容。感谢您快速简洁的回答,虽然我对它没有达到我所希望的效果感到失望,但我还是感谢它澄清了这一点。
x = 1 + 1
x; # Output suppressed w/ semicolon!