iPython notebook 如何避免在函数内打印

6 投票
1 回答
4862 浏览
提问于 2025-04-18 06:17

我想在iPython笔记本中阻止一个函数打印输出。

在标准的Python中,可以通过一些方法来阻止某些代码行的输出,具体可以参考这个问题:如何在Python的批处理控制台中阻止函数打印。不过,这种方法在iPython笔记本中不管用,直到重启内核之前,输出都会消失。

我找到的最相似的功能是使用魔法函数来避免整个单元格的显示:

%%capture capt

不过这个魔法函数会阻止整个单元格的输出,有没有办法在iPython笔记本中只阻止代码中的某些行打印呢?

1 个回答

12

你可以使用 io.capture_output

from IPython.utils import io

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

这样可以只在 with-statement 这个代码块内捕获标准输出和错误输出。

撰写回答