如何禁用 Jupyter 笔记本输出单元格中的换行?
How to disable line wrapping in Jupyter notebook output cells?
默认情况下,Jupyter notebook 的输出单元格中较长的文本行将被换行。如何阻止这种行为?
我可以通过在我的 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
和<br>
个元素。
根据 Can I Use white-space: pre
[=42],对于我的 Firefox v70.0 和 Chorme v78.0.3904.97,此 CSS 呈现良好(具有精细的水平滚动条) =] 和 value 应该适用于所有现代桌面浏览器。
您可以通过 运行 以下 shell 命令找到您的配置所在的位置:
jupyter --config
如果您想进一步修改样式,只需在 Jupyter Notebook 选项卡上使用您最喜欢的浏览器的检查器。您可以在其中修改 CSS 而不会产生永久影响。
如果您不想弄乱配置文件,可以通过调用 IPython.core.display 函数来修改 notebook ad hoc 的行为。然后添加@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()
您可以使用 html 魔术命令。检查 CSS 选择器是否正确,通过检查输出单元格,然后相应地编辑下面的内容。
%%html
<style>
div.output_area pre {
white-space: pre;
}
</style>
我无法发表评论,所以我必须回答:也许 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>"))
参见:
默认情况下,Jupyter notebook 的输出单元格中较长的文本行将被换行。如何阻止这种行为?
我可以通过在我的 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
和<br>
个元素。
根据 Can I Use white-space: pre
[=42],对于我的 Firefox v70.0 和 Chorme v78.0.3904.97,此 CSS 呈现良好(具有精细的水平滚动条) =] 和 value 应该适用于所有现代桌面浏览器。
您可以通过 运行 以下 shell 命令找到您的配置所在的位置:
jupyter --config
如果您想进一步修改样式,只需在 Jupyter Notebook 选项卡上使用您最喜欢的浏览器的检查器。您可以在其中修改 CSS 而不会产生永久影响。
如果您不想弄乱配置文件,可以通过调用 IPython.core.display 函数来修改 notebook ad hoc 的行为。然后添加@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()
您可以使用 html 魔术命令。检查 CSS 选择器是否正确,通过检查输出单元格,然后相应地编辑下面的内容。
%%html
<style>
div.output_area pre {
white-space: pre;
}
</style>
我无法发表评论,所以我必须回答:也许 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>"))
参见: