在Jupyter笔记本中打印多行字符串

7

我想在Jupyter笔记本中打印多行字符串。问题是\r和\n会被直接打印而不会被解释为换行符。

示例:

import os
os.linesep.join(['first line', 'second line'])

我期望它打印出以下内容:
first line
second line

但它打印出来的是:
first line\r\nsecond line

3
你需要实际地使用 print(...) 来输出它... - juanpa.arrivillaga
1
@juanpa.arrivillaga 逐字逐句翻译... :) - vishes_shell
在@juanpa.arrivillaga的基础上,对于Python3,在打印时不要忘记加括号,否则会出现错误。 - bigbounty
1个回答

10

你需要实际打印它。

import os
print(os.linesep.join(['first line', 'second line']))

1
Jupyter笔记本会自动打印每个单元格中的最后一个语句。为什么它不遵循换行符,而print()函数却可以呢? - blokeley
@blokeley 它会显示数值,但如果你想要出现特殊符号,比如 '\n',那么你需要使用 print - vishes_shell
2
@blokeley:不完全是这样,你需要使用print。笔记本显示的是最后一个值的repr,但是print使用的是str,这就是你看到的差异。 - BrenBarn
好的,感谢大家区分开来。很奇怪的是,Pandas输出可以打印多行并且显示OK。嗯。 - blokeley
1
@blokeley:DataFrame的repr是一个带有一些换行符的字符串。带有换行符的字符串的repr是一个带有反斜杠的字符串。当您显示pandas值时,您得到的是DataFrame的repr,而不是DataFrame的repr所表示的字符串的repr - BrenBarn
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接