Jupyter Notebook: command for hide the output of a cell?
在我的笔记本中,我有一个单元格返回温度计算结果。 它有点长,所以在运行之后,我想隐藏它,并在需要时显示它。
要手动执行,我可以双击输出的左侧以将其隐藏
双击后
但是有什么办法可以通过代码做到这一点吗? 例如,
单元格的最后一行,使用类似
另外,我可以在输出HTML中获得此功能吗?
在单元格末尾添加
在较新的版本中(在我撰写本文时为5.0.0),在命令模式下按o可以隐藏焦点所在的单元格的输出。如果在输出的前面三击,也会发生相同的情况。
o是
- 单词输出中的第一个字母或
- 字母表中第15个字母的小写
在新版本的Jupiter Notebook中,选择所需的单元格,确保您处于命令模式,然后在菜单栏上按 Cell> Current Outputs。然后,您有三个选择:
- 切换(在命令模式下按O以应用相同的效果)
- 切换滚动(默认输出)
- 清除(清除所有输出)
图像到菜单栏选项
此外,如果选择"全部输出"而不是"当前输出",则可以对文档中的所有单元格应用相同的效果。
您可以将
Jupyter提供了一个称为
您可以像这样使用它:
print('test')
https://ipython.readthedocs.io/en/stable/interactive/magics.html
不完全是您所追求的,但是效果可能足以满足您的目的:
查看%% capture魔术(https://nbviewer.jupyter.org/github/ipython/ipython/blob/1.x/examples/notebooks/Cell%20Magics.ipynb)。它使您可以将单元格输出分配给变量。通过稍后调用该变量,您可以看到输出。
基于此,几分钟前我刚刚为自己想到了这个:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | %%javascript $('#maintoolbar-container').children('#toggleButton').remove() var toggle_button = ("<button id='toggleButton' type='button'>Show Code</button>"); $('#maintoolbar-container').append(toggle_button); var code_shown = false; function code_toggle() { if (code_shown) { console.log("code shown") $('div.input').hide('500'); $('#toggleButton').text('Show Code'); } else { console.log("code not shown") $('div.input').show('500'); $('#toggleButton').text('Hide Code'); } code_shown = !code_shown; } $(document).ready(function() { code_shown=false; $('div.input').hide(); }); $('#toggleButton').on('click', code_toggle); |
它确实有一个小故障:每次运行该单元格(我放在顶部)时,都会添加一个按钮。因此,这是需要解决的问题。需要检查
编辑
我添加了必要的代码:
1 | $('#maintoolbar-container').children('#toggleButton').remove() |
如果您不介意骇客,那么您可以编写一个简单的脚本,将每个单元格的"折叠"属性从false转换为true
在笔记本的.ipynb文件(这是一个简单的JSON文件)中。
但是,如果.ipynb格式更改,将来可能会失败。