用分号来抑制输出在python中不起作用



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"类型,如情节。

相关内容

  • 没有找到相关文章

最新更新