如何在Jupyter Ipython / JupyterLab笔记本中注释掉多个单元格?

时间:2019-01-15 20:45:22

标签: python jupyter-notebook jupyter-lab commenting

如何在Jupyter Ipython / JupyterLab笔记本中注释掉多个单元格?该代码在Python中。

Microsoft Windows上的键盘快捷键 Ctrl + / 和Mac OS X上的 Cmd + / 仅适用如果所选代码在一个单元格内。但是,如果我选择了多个单元格,则这些键盘快捷键将不再起作用。


通过单击单元格的边缘,然后按住 CTRL SHIFT ,然后单击另一个单元格的边缘,可以选择多个单元格:

enter image description here

2 个答案:

答案 0 :(得分:1)

有两种方法可以解决将这些单元格视为文本的意图:

1)在Jupyter中,多选单元格,然后按m进行降价;现在它们的行为就像markdown / text一样,就像注释掉它们一样好。请注意,通过多选单元格并按y将单元格转换为代码,此过程是可逆的。这种方法的缺点是默认情况下将应用于减价单元格的格式。为了使它们看起来像代码,但表现为文本,似乎需要手动干预,将每个markdown单元格包装在<pre>标签中,如下所示:<pre>print("my code")</pre>

2)如果需要将它们视为代码但被注释掉,则不逐一进行(我可以找到)的唯一方法是将单元合并为一个,但这需要技巧当您有两个以上的单元格时。完成后,命令/(或Windows上的控件/)将在多行上工作。
为此:如果仅涉及两个单元格

  • 选择多个单元格
  • 在Jupyter菜单中:编辑->在上方合并单元格(或在下方合并单元格)
  • 选择整个单元格中的内容
  • 现在您可以使用控制/命令/(Windows或Mac)将所有代码注释掉

对于两个以上的单元格,请尝试以下操作:

  • 多选所有单元格
  • control-c或command-c(复制命令)
  • 将结果粘贴到您喜欢的文本编辑器中
  • 全选并在文本编辑器中复制结果
  • 现在将其粘贴回笔记本的单个单元格中
  • 现在在笔记本中选择并使用控制/命令/(Windows或Mac)
  • 现在用原始拆分内容多选其余单元格
  • 删除这些单元格,只留下您新合并并注释掉的单元格

正如其他人所看到的-这个过程不容易逆转。您可以取消注释所有代码行,但我认为,将它们拆分回其原始单元将需要手动进行。

我在Anaconda Jupyter中使用崇高的文本编辑器对文本编辑器步骤进行了所有测试。这是进行这些测试时来自系统的版本信息:

The version of the notebook server is 5.0.0 and is running on:
Kernel Info:
Python 3.6.1 |Anaconda custom (x86_64)| (default, May 11 2017, 13:04:09) 
Type 'copyright', 'credits' or 'license' for more information
IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help.

答案 1 :(得分:0)

如评论中所述,您可以:

a)将它们全部转换为降价(选择并按m)

b)逐个单元格地选择所有文本(control + a),然后(control + /)进行注释

c)将所有单元格合并为一个,然后进行注释。不幸的是,我认为该选项是不可逆的

如果有人知道其他选择,我很乐意知道!