如何阻止 Jupyter 笔记本中的评论? [关闭]

Posted

技术标签:

【中文标题】如何阻止 Jupyter 笔记本中的评论? [关闭]【英文标题】:How do I block comment in Jupyter notebook? [closed] 【发布时间】:2015-07-05 07:03:20 【问题描述】:

我想在 Jupyter Notebook 中注释掉一行多行,但在当前版本中找不到如何执行此操作。 它曾经位于下拉菜单之一中,但不再存在。 如何一次注释掉多行代码块?

这不是重复的,因为以下链接中给出的解决方案似乎不再有效:How can I block comment code in the IPython notebook?

Ctrl + / 什么都不做。

【问题讨论】:

自动括号和引号是否有效?较早的 ipython 版本失去了该功能(至少,它不是默认的),但最新的稳定版本又拥有它。我可以想象注释行与这些和其他代码编辑功能捆绑在一起。也许你需要更新 ipython。 链接问题的解决方案仍然适用于 IPython 3.0。不幸的是,您需要一个美式键盘布局才能使用它(如答案中所示)。使用我的德语布局,这从来没有奏效,因此原始问题和答案仍然有效。 How can I block comment code in the IPython notebook?的可能重复 我有一个美式键盘。 我已经更新了链接问题中的答案以处理非英语键盘布局。试一试。 【参考方案1】:

Ctrl + / 适用于我在 MS Windows 的 Chrome 浏览器中。在 Mac 上,使用 Cmd + /(感谢 Anton K)。


请注意,如果 / 开箱后无法正常工作,请尝试按小键盘上的 / 键。信用:@DreamFlasher 在 cmets 这个问题。

【讨论】:

这不适用于芬兰布局的键盘!您使用的是美式键盘吗? 对我来说这不起作用,但Ctrl + # 这不起作用,除非使用数字键盘中的/ 西班牙语(拉丁美洲)键盘(Ubuntu)上的 ctrl + jupyter notebook 中的评论命令被 Safari 的隐藏/显示状态栏 (Cmd + / ) 覆盖。【参考方案2】:

我还没有找到最好的方法。由于我使用的是 Finnish 布局的键盘,因此某些答案对我不起作用(例如 user5036413 的答案)。

但是,与此同时,我想出了一个解决方案,至少可以帮助我不逐行评论每一行。我在MS Windows 中使用Chrome browser,但我还没有检查其他可能性。

解决办法: 它利用了Ipython Notebook 中可以有多个行光标这一事实。

按下 Alt 按钮并保持按住。光标应将其形状变为一个大加号。下一步是使用鼠标指向要评论的第一行的开头,并在按住 Alt 按钮的同时下拉鼠标直到要评论的最后一行。最后,您可以松开 Alt 按钮,然后使用# 字符进行注释。瞧!您现在已经注释了多行。

【讨论】:

聪明。我刚刚在 Firefox 中尝试过,它可以工作,但必须小心我的光标选择。 像魅力一样工作!但只是一个澄清。通过按下 Alt 键获得大 + 号后,请 NOT 选择要注释掉的代码块中的所有文本!只需将指针向下拖动到文本的薄左边缘,在块中的每一行中选择行的开头。然后按# 将在每行的开头插入一个#。相反,如果您选择所有文本,它将用井号 (#) 替换每行中的文本。 实际上,您可以选择整个文本。只需按向左箭头取消选择,然后键入您想要的内容,它将应用于每一行。 :) 我喜欢它,因为它比仅仅注释掉一部分更通用。但是,您知道可以将部分代码注释掉并放在三引号中(如多行字符串)吗? 疯狂但工作欢呼【参考方案3】:

尝试使用数字键盘上的/。 Chrome 中的Ctrl + / 对我不起作用,但是当我使用数字中的/(除号)时它起作用了。

【讨论】:

为什么会这样? 感谢精确数字键盘,这是关键 这里也一样,ctrl+/ 不起作用,但从数字键盘可以。【参考方案4】:

快速添加到最佳答案:CTRL + / 很好,因为它在所有选定行的开头添加和删除# 之间切换。没有看到提到的确切细微差别,所以只想在这里添加它。 (这适用于 Windows 7 上的 Firefox Developer Edition 54.0b12)。

【讨论】:

【参考方案5】:

在芬兰语键盘上,使用 Ctrl + ' 对多行进行注释,并使用相同的键取消注释。

Ubuntu 14.04Google Chrome

【讨论】:

也适用于德语版式的 Windows 和 Google Chrome。 Ctrl + # 顺便说一句,这在 spyder-notebook 上不起作用。 法式布局的捷径有人吗? Windows 中的克罗地亚布局Ctrl + ' 也可以。【参考方案6】:

TL;DR:

将 MacBook Pro 与西班牙语 - ISO 键盘配合使用。

解决方案:Ctrl + -

全文

这是一篇旧帖子,但阅读它让我想到了可能的捷径。

我的键盘是拉丁语 Apple MacBook Pro,称为 Spanish - ISO。我尝试将键盘分布更改为美国解决方案...这可行,但是使用此解决方案时,我每次想评论哪个...很烂时都必须切换键盘。

所以我尝试了 ctrl + - 并且它有效。 -/ 在英文键盘中的位置,但是 Cmd + - 只会改变 Chrome 的缩放比例,所以我尝试了 Ctrl,它不像 macOS 中的 Cmd 那样使用。

我对此的看法是:如果我有更多快捷方式问题,我可能会尝试原来的快捷方式,但使用美国键盘可以使用的键。

【讨论】:

这里也一样,在瑞士 qwertz 键盘上:ctrl + - 谢谢你的提示!【参考方案7】:

选择要注释掉的行。然后按:

Ctrl + #

【讨论】:

【参考方案8】:

我在 Mac OSX 上使用 Chrome 42.0.2311.90(64 位)进行了尝试,这可以通过使用 CMD + / 来工作

The version of the notebook server is 3.1.0-cbccb68 and is running on:
Python 2.7.9 |Anaconda 2.1.0 (x86_64)| (default, Dec 15 2014, 10:37:34) 
[GCC 4.2.1 (Apple Inc. build 5577)]

会不会是浏览器相关的问题?你试过 Firefox 还是 IE?

【讨论】:

我使用的是 Firefox。我有一台运行 Win 7 的电脑 你能像@drevicko 提到的那样更新你的 ipython 版本吗?您使用的是什么版本的 ipython?什么版本的python? 无论出于什么奇怪和难以理解的原因,ctrl-/ 现在都可以使用。为什么它在一天前不起作用而现在起作用了,我没有答案。我没有更改我的安装,我正在使用 FWIW 笔记本服务器的版本是 3.0.0-f75fda4 并且正在运行:Python 2.7.8 |Anaconda 2.2.0(64 位)| (默认,2014 年 7 月 2 日,15:12:11)[MSC v.1500 64 位 (AMD64)] 我如何自己结束这个问题?当答案是“自行修复”时,似乎可以自行回答并选择我的答案【参考方案9】:

Fn + Cmd + / 在 MacOS 上的 Safari 浏览器中

【讨论】:

Cmd + / 也可以工作【参考方案10】:

在开头和结尾使用三个单引号'''。它将在函数中作为doc string 被忽略。

'''
This is how you would
write multiple lines of code
in Jupyter notebooks.
'''

我不知道如何在多行中打印,但您可以在这些引号之间的任何位置添加一行,您的代码就可以了。

【讨论】:

这对我不起作用。 Jupyter 抱怨 IndentationError: expected an indented block 无论我是否在引号之间缩进。 仍然在输出单元格中打印出来,不是吗?我注释掉了一个 for 循环,我在下面的输出单元格中看到了这一点:'\nfor column in homeData:\n homeDataColumn = homeData[column]\n print(type(homeDataColumn.values[0]))\n' 您可以在下拉菜单中将单元格从“代码”更改为“rawNB 转换”,这样运行单元格时就没有输出 它没有回答问题。 这对我有用,并且正是我遇到这个问题时所寻找的。我想要一种快速注释掉的方法,然后重新添加到我的代码块中,而不必遍历并删除每个“#”。谢谢。【参考方案11】:

选择 windows jupyter notebook 上的行,然后点击 Ctrl+#

【讨论】:

【参考方案12】:

在带有 Firefox 和德语键盘布局的 MacOS 10.11 上,它是 Ctrl + ?

【讨论】:

这个答案对我有帮助。对我来说,组合键“command + ß”成功了 法文键盘,用这个可以。【参考方案13】:

我添加了相同的情况,并进入了几个 stackoverfow、github 和显示复杂解决方案的教程。虽然没有什么简单的!有些带有“按住 alt 键并在光标显示十字时移动鼠标”,这不适用于笔记本电脑用户(至少对我而言),有些带有配置文件...

我是在睡了一夜之后找到的。我的环境是笔记本电脑、ubuntu 和 Jupyter/Ipython 5.1.0:

只需选择/突出显示一行、一个块或其他内容,然后按“Ctrl”+“/”,这很神奇:)

【讨论】:

【参考方案14】:

搜索了一段时间后,我找到了评论 AZERTY mac 的解决方案。快捷方式是Ctrl +/= key

【讨论】:

【参考方案15】:

我正在使用 chrome、Linux Mint;以及用于评论和取消评论的行:

Ctrl + /

【讨论】:

【参考方案16】:

对于Dutch keyboard layout(在 Chromium 57 中的 Debian 9 上)它是 Ctrl + °

【讨论】:

【参考方案17】:

要补充一点,在我使用的版本中,必须初始化代码才能使用 CTRL 和 / 将其注释掉。如果您还没有运行代码并且代码没有着色,它将无法工作。

【讨论】:

【参考方案18】:

如果您使用的是 Mac 而不是英文键盘: Cmd-/ 还是很容易产生的。

按照以下步骤操作:

    只需进入 Mac 的系统设置、键盘、“输入源”选项卡或任何可能用英语命名的内容 为英语添加一个(显示为 ABC,奇怪的英语拼写方式)。

当您想要一个 Cmd-/ 时,您必须更改为 ABC 键盘(在屏幕顶部的菜单行中,如果您已勾选它以显示在 System Settings - Keyboard tab 中)。

Cmd 和右侧“shift key”左侧的键为您提供 Cmd-/。

P.S:不要忘记切换回您的普通键盘。

【讨论】:

以上是关于如何阻止 Jupyter 笔记本中的评论? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止 Jupyter Notebook 中的 stderr 输出?

阻止 jupyter notebook 单元执行,直到收到特定消息

如何腌制或存储 Jupyter (IPython) 笔记本会话以供以后使用

如何在 python 循环中更新 matpplotlib 库图,该图位于 Jupyter 笔记本中的同一位置?

如何修复当我尝试导入任何东西时看到的 Jupyter 笔记本中的错误

通过用于jupyter笔记本的第三个静态ip pc在两台动态ip pc之间建立SSH桥接[关闭]