簡體   English   中英

在Python中,打印字符串時是否可以轉義換行符?

[英]In Python, is it possible to escape newline characters when printing a string?

我希望換行\\n在打印從其他位置檢索的字符串時顯式顯示。 因此,如果字符串為“ abc \\ ndef”,則我不希望這種情況發生:

>>> print(line)
abc
def

但是相反:

>>> print(line)
abc\ndef

有沒有一種方法可以修改打印,或修改參數,或者完全修改另一個函數來完成此任務?

只需使用'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"))

unicode_escape參考

您可以使用轉義字符停止python的另一種方法是使用原始字符串,如下所示:

>>> print(r"abc\ndef")
abc\ndef

要么

>>> string = "abc\ndef"
>>> print (repr(string))
>>> 'abc\ndef'

使用repr()的唯一問題是它將字符串放在單引號中,如果您想使用引號會很方便

最簡單的方法: str_object.replace("\\n", "\\\\n")

如果要顯示所有轉義字符,則其他方法更好,但是如果您只關心換行符,則只需使用直接替換即可。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM