繁体   English   中英

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

[英]How can I comment out multiple cells in Jupyter Ipython / JupyterLab notebook?

如何在 Jupyter Ipython / JupyterLab notebook 中注释掉多个单元格? 代码是用 Python 编写的。

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


可以通过单击单元格的边距,然后按住CTRLSHIFT ,然后单击另一个单元格的边距来选择多个单元格:

在此处输入图片说明

如评论中所述,您可以:

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

b) 逐个单元格选择所有文本 (control+a) 然后 (control + /) 进行评论

c) 将所有单元格合二为一,然后发表评论。 不幸的是,我不认为这个选项是可逆的

如果有人知道另一种选择,我很乐意知道!

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

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

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

  • 多选单元格
  • 在 Jupyter 菜单中:编辑 -> 合并上面的单元格(或合并下面的单元格)
  • 选择整个单元格内的内容
  • 现在您可以使用 control/command / (windows or mac) 来注释掉所有代码

对于两个以上的单元格 - 试试这个:

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

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

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

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.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM