【问题标题】:How to disable line wrapping in Jupyter notebook output cells?如何在 Jupyter 笔记本输出单元格中禁用换行?
【发布时间】:2019-04-28 04:05:57
【问题描述】:

默认情况下,Jupyter 笔记本输出单元格中较长的文本行将被换行。如何制止这种行为?

【问题讨论】:

  • 你想要一个水平滚动条还是输出单元格宽度来适应它的内容?
  • 这两个选项都可以接受。水平滚动条会更好。

标签: python-3.x output jupyter-notebook word-wrap


【解决方案1】:

如果你不想弄乱配置文件,你可以通过调用 IPython.core.display 函数来修改笔记本的行为。然后添加@atevm 建议的CSS:

from IPython.core.display import display, HTML
display(HTML("<style>div.output_area pre {white-space: pre;}</style>"))

for line in range(5):
    for num in range(70):
        print(f" {num}", end="")
    print()

【讨论】:

  • 这可以停止换行,但显示数据的单元格没有扩展(无法滚动它以查看实际看到未包装的数据:D)
  • @RightmireM 我没有看到这个问题。至少在我的 Mac 上的 Chrome 中,横向滚动可以正常工作。
  • 希望我能将这个回复向上箭头两次!在你的 jupyter notebook 的顶部添加导入和显示行,然后从那里你 sparkdf.show(5,False) 它不会换行!
【解决方案2】:

您可以使用 html 魔术命令。通过检查输出单元格来检查 CSS 选择器是否正确,然后相应地编辑下面的内容。

%%html
<style>
div.output_area pre {
    white-space: pre;
}
</style>

【讨论】:

    【解决方案3】:

    我可以通过在我的 Jupyter 用户配置中的 custom/custom.css 文件中添加一个简单的 CSS 规则来解决这个问题:

    /*Disable code output line wrapping*/
    div.output_area pre {
        white-space: pre;
    }
    

    结果:

    div.output_area pre 选择规则的代码输出区域的pre 预格式化文本区域(css 属性集)。 white-space 属性说明浏览器应如何在选定的 HTML 元素中显示空格,pre 值浏览器仅在换行符 \n&lt;br&gt; 元素处中断。

    根据Can I Usewhite-space: pre 的属性和值,我的 Firefox v70.0 和 Chorme v78.0.3904.97 的这个 CSS 渲染良好(带有精细的水平滚动条)应该适用于所有现代桌面浏览器。

    您可以通过运行以下 shell 命令找出您的配置所在的位置:

    jupyter --config
    

    如果您想进一步修改样式,只需在 Jupyter Notebook 选项卡上使用您喜欢的浏览器的检查器即可。您可以在其中修改 CSS 而不会产生永久效果。

    【讨论】:

    • 绝妙的答案!感谢您的努力!
    • 这仍然不适用于长 numpy 数组。我该如何解决?
    • @JordanKohn 奇怪,对我来说,即使使用默认的 CSS 和配置,numpy 数组也已显示。可以分享截图吗?
    • stackoverflow.com/a/65341534/10733210 这实际上解决了我的问题
    【解决方案4】:

    我无法发表评论,所以我必须回答:也许 Jupyter 的最新版本有些不同。如果接受的答案不起作用,您可以尝试使用“jp-OutputArea-output”而不是“div.output_area”;例如

    from IPython.core.display import display, HTML
    display(HTML("<style>div.jp-OutputArea-output pre {white-space: pre;}</style>"))
    

    如果你有一个暗模式浏览器并且你不喜欢由此产生的较亮的滚动条,你可以尝试在 Jupyter 添加中设置暗模式

    display(HTML("<style>:root {color-scheme: dark;}</style>"))
    

    见:How do I switch to Chromes dark scrollbar like GitHub does?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-06
      • 2022-11-20
      • 2016-02-04
      • 1970-01-01
      • 2016-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多