iPython笔记本:避免在函数内打印输出

6
我希望阻止在iPython笔记本中打印某个函数。在标准的python中,可以像在这个问题的答案中所回答的那样防止打印一些代码行:To prevent a function from printing in the batch console in Python。然而,在iPython笔记本中,这种方法不起作用,直到重新启动内核之前都无法输出。我发现最相似的功能是使用魔术函数避免完整的单元格显示:
%%capture capt

然而,这个神奇的函数会阻塞整个单元格,有没有办法在iPython笔记本中避免打印代码中的某些行?


1
也许你可以将代码包装在 with io.capture_output(): 语句 中。 - unutbu
然而,我认为这并不是重复的。尽管解决方案相同,但问题显然是不同的,并且它们解决了不同的问题。 - David Mabodo
1个回答

11

您可以使用io.capture_output

from IPython.utils import io

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

使用 with 语句仅捕获标准输出和错误输出中的特定行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接