【问题标题】:Keyboard shortcut to clear cell output in Jupyter notebook在 Jupyter 笔记本中清除单元格输出的键盘快捷键
【发布时间】:2017-02-16 21:37:00
【问题描述】:

有谁知道在 Jupyter Notebook 中清除(而不是切换)单元格输出的键盘快捷键是什么?

【问题讨论】:

  • 我提出了一个问题:github.com/jupyter/notebook/issues/1925
  • 警告! Esc + d + d 删除单元格!
  • 如果您不介意丢失其他输出,您可以尝试编辑/清除所有输出方法。例如,在将笔记本从 colab 提交到 github 之前可能会有用。

标签: python jupyter-notebook


【解决方案1】:

您可以在 UI 中设置自己的快捷方式(对于最新的主版本):

此菜单可以在任何打开的笔记本中的Help > Keyboard Shortcuts 中找到。

【讨论】:

  • 具体来说,这是在任何打开的笔记本中的Help > Edit Keyboard Shortcuts 下。
  • 上面的好建议。我个人喜欢清理 CLI 的输出,所以我也想在这里分享这些信息 jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace Notebook.ipynb 更多信息 --> stackoverflow.com/questions/28908319/…
  • Jupyter Lab 中没有此选项
【解决方案2】:

对于低于 5 的版本:

选项 1 -- 快速破解:

将单元格类型更改为原始然后返回代码:EscRY 将丢弃输出。

选项 2 -- 自定义快捷方式(无 GUI):

为此,您需要编辑custom.js 文件,该文件通常位于~/.jupyter/custom/custom.js(如果不存在,则创建它)。

在那里,你必须添加

require(['base/js/namespace']) {
    // setup 'ctrl-l' as shortcut for clearing current output
    Jupyter.keyboard_manager.command_shortcuts
           .add_shortcut('ctrl-l', 'jupyter-notebook:clear-cell-output');
}

你可以为你喜欢的所有花哨的东西添加快捷方式,因为第二个参数可以是一个函数 (docs)

如果您想要其他标准命令的映射,您可以通过在笔记本中运行以下命令来转储所有可用命令的列表:

from IPython.core.display import Javascript

js = """
  var jc_html = "";
  var jc_array = Object.keys(IPython.notebook.keyboard_manager.command_shortcuts.actions._actions);
  for (var i=0;i<jc_array.length;i++) {
    jc_html = jc_html + jc_array[i] + "<br >";
  }
  element.html(jc_html);
  """

Javascript(data=js, lib=None, css=None)

【讨论】:

    【解决方案3】:

    在单元格开头添加以下内容并运行它:

    from IPython.display import clear_output
    clear_output(wait=True)
    

    【讨论】:

    • 如果您想在不删除所有打印命令的情况下运行单元格时很有用。
    【解决方案4】:

    仅为 JupyterLab 用户添加。 Ctrl,(高级设置)并在键盘快捷键下的用户参考中粘贴以下内容对我有用。

    {
    "shortcuts": [
            {
                "command": "notebook:hide-cell-outputs",
                "keys": [
                    "H"
                ],
                "selector": ".jp-Notebook:focus"
            },
            {
                "command": "notebook:show-cell-outputs",
                "keys": [
                    "Shift H"
                ],
                "selector": ".jp-Notebook:focus"
            }
        ]
    }
    

    【讨论】:

    • 你为我节省了很多时间:D
    • @ИльяМитусов 非常高兴听到这个消息!我刚刚将我当前的键绑定放到this repo 中,以防万一它们有帮助,并且会尽我所能保持最新。
    【解决方案5】:

    取决于您是否认为 命令调色板 是一种快捷方式。我愿意。

    1. 按“control-shift-p”,打开命令面板。
    2. 然后键入“清除单元格输出”。这将让您选择清除输出的命令。

    【讨论】:

      【解决方案6】:

      转到Help -> Edit Keyboard Shortcuts

      然后将您想要的快捷方式添加到“清除单元格”字段。

      【讨论】:

        【解决方案7】:

        我刚刚查看并找到了 cell|all output|clear 与:

        服务器信息: 您正在使用 Jupyter 笔记本。

        笔记本服务器的版本是:6.1.5 服务器运行在这个版本的 Python 上: Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)]

        当前内核信息: Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] 输入“版权”、“学分”或“许可”以获取更多信息 IPython 7.19.0——增强的交互式 Python。类型 '?'寻求帮助。

        【讨论】:

          【解决方案8】:

          您可以通过命令行执行此操作: jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace *.ipynb

          【讨论】:

            【解决方案9】:

            这不是键盘快捷键,但要清除所有输出,您可以单击以下按钮:

            【讨论】:

              【解决方案10】:

              要删除/清除 JupyterLab 中的单个单元格输出(无需转到编辑 > 清除输出),请转到 设置>高级设置编辑器 (Ctrl+,)>键盘快捷键并将其添加到“快捷方式”中:[...]

              { “命令”:“笔记本:清除单元格输出”, “钥匙”:[ “换档 D”, “换档 D” ], “选择器”:“.jp-笔记本:焦点” }

              并保存它! (Ctrl + S)

              然后当你在编辑器中时,只需按 Esc 即可退出编辑模式,然后按 Shift + d + d。

              【讨论】:

                猜你喜欢
                • 2022-01-04
                • 2020-06-04
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2023-03-12
                • 1970-01-01
                • 1970-01-01
                • 2023-04-02
                相关资源
                最近更新 更多