簡體   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