在Python中,打印字符串时是否可以转义换行符?
我希望在打印从别处检索到的字符串时,显示新行\n
。因此,如果字符串为“ABC \ NDEF”我不希望这样的事情发生:在Python中,打印字符串时是否可以转义换行符?
>>> print(line)
abc
def
,而是这样的:
>>> print(line)
abc\ndef
是否有修改打印或修改参数的方式,或者完全可能是另一个功能来完成这个任务?
另一种方式,你可以使用转义字符停止蟒蛇是使用原始字符串是这样的:
>>> print(r"abc\ndef")
abc\ndef
或
>>> string = "abc\ndef"
>>> print (repr(string))
>>> 'abc\ndef'
使用repr()
是,它使得你的字符串中的单引号的唯一proplem,它可以,如果你想使用一个报价得心应手
只需使用'string_escape'
编解码器对其进行编码即可。
>>> print "foo\nbar".encode('string_escape')
foo\nbar
在python3,'string_escape'
已成为unicode_escape
。此外,我们需要多一点谨慎字节/ unicode的,因此涉及到编码后的解码:
>>> print("foo\nbar".encode("unicode_escape").decode("utf-8"))
简单的方法:如果你想 str_object.replace("\n", "\\n")
其他方法更好显示全部转义字符,但如果你关心的只是换行符,只需使用直接替换。
我认为,但最终是的,我想要所有逃脱字符。 – Tyler 2013-03-13 18:34:43
这不适用于2.7。使用'str_object.replace(r“\ n”,r“\\ n”)''。 – WeirdElfB0y 2017-02-10 10:35:28
不,不,不! Python 2.7和Python 3没有区别。请按照答案的说法做。 '替换(r“\ n”,r“\\ n”)'是无用的,它不会触及换行符。 – alexis 2018-01-27 21:21:49
谢谢,这正是我正在寻找的。选择作为答案,因为你给了两种不同的选择。 – Tyler 2013-03-13 18:33:56