【问题标题】:How to wrap code/text in Jupyter notebooks如何在 Jupyter 笔记本中包装代码/文本
【发布时间】:2016-07-24 23:30:52
【问题描述】:

我正在使用 jupyter-notebooks 进行 python 编码。有没有办法将文本/代码包装在 jupyter 笔记本代码单元中?

图片如下。

文字换行的意思是“文本是如何在 MS-word 中换行的”

【问题讨论】:

  • 你可以试试here提供的答案。如果成功,您可以回答自己的问题,以便其他搜索此问题的人知道它仍然适用于 jupyter 笔记本
  • @M.T :这些步骤适用于 Ipython 笔记本。我遇到了groups.google.com/forum/#!topic/jupyter/AczTdZqStoM 之类的线程,但我找不到 ~/.jupyter/custom/custom.js 之类的文件

标签: python jupyter-notebook


【解决方案1】:

通过jupyter --config-dir(我的是~/.jupyter)找到你的配置目录。然后编辑或创建nbconfig/notebook.json 以添加以下内容:

{
  "MarkdownCell": {
    "cm_config": {
      "lineWrapping": true
    }
  },
  "CodeCell": {
    "cm_config": {
      "lineWrapping": true
    }
  }
}

(如果您有其他内容,请确保您有有效的 JSON,}s 之后没有尾随逗号。)

重新启动 Jupyter 并重新加载您的笔记本。

来源:https://github.com/jupyter/notebook/issues/106

【讨论】:

  • 这种方法对我不起作用。 nbconfig 应该是 .jupyter 的新子目录,而 notebook.json 应该是存储在其中的文本文件?
  • 这对我也不起作用——直到我意识到json 文件格式不喜欢# cmets。我的习惯是在配置文件中引用我的编辑源,例如这篇文章的 URL。
  • @J 凯利。没错,您可以使用mkdir nbconfig 创建nbconfig,然后使用nano notebook.json 创建一个名为notebook.json 的空文件,您将在其中粘贴代码。
  • 这行得通。我的笔记本配置文件位于/home/username/anaconda3/etc/jupyter/nbconfig/notebook.json
  • 我的系统默认没有启用扩展。使用命令jupyter nbextension enable --py widgetsnbextension 启用它们后,它工作正常。更多details
【解决方案2】:

除了 Dan 的回答之外,您可以通过将顶部对象指定为 Cell 来为所有单元格应用换行(代码或降价)。将下面的代码添加到您的~/.jupyter/nbconfig/notebook.json

{
  "Cell": {
    "cm_config": {
      "lineWrapping": true
    }
  }
}

例如:这是我的单元格配置

{
  "Cell": {
    "cm_config": {
      "lineNumbers": false,
      "lineWrapping": true
    }
  }
}

【讨论】:

  • 出于某种原因,这对我不起作用(在 Jupyter 版本 4.2.0 下),但 Dan 的回答可以。
  • @eden,输出单元格中的自动换行宽度是否有类似的选项?
【解决方案3】:

这可能不是一个令人满意的答案,但在使用 Google Colab 时,我使用了 cmets 行上方和下方的三个单引号。加上引号后,我可以在我认为合适的地方按回车键。

原评论:

# Using the number of rows from the original concatenated dataframe and the trimmed dataframe, quantify the percent difference between the number of rows lost

解决方案:

''' 使用原始连接数据帧中的行数和 修剪数据框,量化数量之间的百分比差异 行丢失 '''

这是解决方案的屏幕截图:

【讨论】:

  • 这不适用于代码行,而且 OP 从未询问如何使用 '\' 或使用 ''' ''' 的 cmets 将代码拆分为行。相反,他正在寻找的是自动“包装”单元格上的内容。
【解决方案4】:

有史以来最短的答案

尝试在需要拆分的代码行之间添加“\”。

这使您可以将代码拆分为不同的行并使其看起来更漂亮。

【讨论】:

  • 这需要用户更改代码(插入'\')。更好的解决方案(如果有的话)会让工具(jupyter)处理它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-02
相关资源
最近更新 更多