簡體   English   中英

Python,打印到文件而沒有“ \\ n”功能

[英]Python, Print to file without functionality of “\n”

我正在嘗試將字符串打印到文件,但是我想這樣:

string = "asdfasdf \n awefawe"

我希望按原樣打印。 因此該文件包含:

asdfasdf \n awefawe

並不是

asdfasdf
 awefawe

我怎么做? 我試過了:

f1=open('./testfile.txt', 'w+')
f1.write(body)

編輯:我不想更改字符串,我只想按原樣打印它。 甚至到標准輸出。 我不在乎。 我想知道字符串包含什么。 它不僅與\\n

修改string的定義,使其最終包含\\n而不是換行符。 可以使用以下任一方法完成此操作:

string = r"asdfasdf \n awefawe"

要么:

string = "asdfasdf \\n awefawe"

如果您不能修改設置string值的代碼(如其他答案所建議),則可以使用一種特定Python的編解碼器 ,將“特殊”字符轉換為等效的Python字符串文字轉義序列:

>>> print "abc\ndef".encode("string_escape")
abc\ndef

如果字符串可能包含非ASCII字符,則可能需要unicode_escape ,具體取決於您的較大要求:

>>> print "Ā".encode("string_escape")
\xc4\x80
>>> print u"Ā".encode("unicode_escape")
\u0100

從技術上講, string_escape僅可應用於字節字符串,而unicode_escape僅可應用於Unicode字符串,但是只要所有字符都在ASCII范圍內(即,U + 0000到U + 007F),Python 2便可以讓您放棄使用。 我不確定Python 3的等效項是什么.encode方法似乎在3.2中的bytes對象上不存在...

Python將字符串中的\\n解釋為換行符。 因此,要打印文字反斜杠,只需使用另一個反斜杠對反斜杠進行轉義即可,如下所示:

string = "asdfasdf \\n awefawe"

您必須逃脫反斜杠。

string = "asdfasdf \\n awefawe"

暫無
暫無

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

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