我希望在打印從別處檢索到的字符串時,顯示新行\n
。因此,如果字符串爲「ABC \ NDEF」我不希望這樣的事情發生:在Python中,打印字符串時是否可以轉義換行符?
>>> print(line)
abc
def
,而是這樣的:
>>> print(line)
abc\ndef
是否有修改打印或修改參數的方式,或者完全可能是另一個功能來完成這個任務?
我希望在打印從別處檢索到的字符串時,顯示新行\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