2 回答

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
在 Python 中讀取文件時(shí),默認(rèn)情況下會(huì)保留所有實(shí)際的換行符(換行符/LF、十六進(jìn)制值 0x0A)。但您的文件似乎包含轉(zhuǎn)義序列,您希望將其轉(zhuǎn)換為實(shí)際的單個(gè)換行符。
在這種情況下,只需使用:print(contents.replace("\\n", "\n"))

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
從哪里獲得雙反斜杠輸出?我剛剛自己測試了這一點(diǎn),并且都打印從文件中讀取的內(nèi)容并將其寫回另一個(gè)文件,似乎只是保留一組......
代碼:
file = open("test.txt", 'r')
contents = file.read()
print(contents)
file.close()
file2 = open("test2.txt", "w")
file2.write(contents)
file2.close()
包含的輸入文件的編碼
This is a test \n plus senond \n test.
在我的例子中,輸出文件(結(jié)果完全相同)是UTF-8。也許這與此有關(guān)?只是猜測
我無法復(fù)制您的問題,但正如 shredEngineer 所說,您可以通過簡單的替換手動(dòng)修復(fù)它。知道為什么你的代碼添加第二個(gè)反斜杠會(huì)很有趣......
添加回答
舉報(bào)