默认隐藏JupyterLab单元的输出

时间:2020-02-19 14:40:18

标签: jupyter-notebook jupyter jupyter-lab

我正在使用 JupyterLab 构建一个使用bash和python脚本的生物信息学管道。 第一个bash脚本结果对过程的每个步骤都提供了很多反馈。但是,这种反馈是没有帮助的(除非有错误),并且会使文档的可读性降低。

我希望能够默认隐藏此单元格的输出,而且还能够在需要进行故障排除时将其打开。我知道可以在输出上单击3次以折叠它;我只是想知道默认情况下是否有办法。

我试图将此处(https://jupyterbook.org/features/hiding.html#Hiding-outputs)上指定的标签添加到单元格中,但它似乎对我不起作用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可能只想使用%%capture单元魔术来抑制输出,如图here所示。然后,您只需在想要查看输出的时间(例如,进行故障排除)时从单元格的第一行中删除该魔术命令即可。

如果要每次运行单元时都这样做,则以后可以决定查看捕获的内容,可以按原意使用%%capture魔术命令。通过分配捕获的内容,您还可以执行%%bash单元魔术允许处理输出流的操作(请参见here)。如here所述,并使用utils对象,您可以轻松地将stdout和/或stderr作为字符串获取,请参见http://ipython.readthedocs.io/en/stable/api/generated/IPython.utils.capture.html

因此,假设您将以下内容放在单元格的顶部,以将捕获的内容分配给out

%%capture out

稍后您可以使用以下内容查看标准输出流:

print(out.stdout)

或者,如果您只想要其中的一部分,则类似print(out.stdout[1:500])。我在代码here的某些代码块中展示了一些更好的处理方法。