我希望在打印从其他地方检索到的字符串时显式显示换行 \n。因此,如果字符串是‘ abc ndef’,我不希望这种情况发生:
\n
>>> print(line) abc def
而是这样:
>>> print(line) abc\ndef
有没有一种方法来修改打印,或修改参数,或可能完全另一个函数,以实现这一点?
用 'string_escape'编解码器编码就行了。
'string_escape'
>>> print "foo\nbar".encode('string_escape') foo\nbar
在 python3中,'string_escape'变成了 unicode_escape。此外,我们需要对字节/unicode 更加小心一些,因此它涉及到编码后的解码:
unicode_escape
>>> print("foo\nbar".encode("unicode_escape").decode("utf-8"))
Unicode _ escape 引用
使用转义字符停止 python 的另一种方法是使用如下原始字符串:
>>> print(r"abc\ndef") abc\ndef
或者
>>> string = "abc\ndef" >>> print (repr(string)) >>> 'abc\ndef'
使用 repr()的唯一问题是它将您的字符串放在单引号中,如果您想使用引号,它可能很方便
repr()
最简单的方法: str_object.replace("\n", "\\n")
str_object.replace("\n", "\\n")
如果希望显示 所有转义字符,其他方法更好,但如果只关心换行符,那么只需使用直接替换即可。