iPython notebook 如何避免在函数内打印
我想在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
这个代码块内捕获标准输出和错误输出。