我有一個文本文件,其中包含 \n 作為新行。在Python 3.6中,當我使用以下代碼加載它時:file = open(file_name, 'r')
contents = file.read()它將所有 \n 更改為 \\n。例如:txt文件中的原文:This is a test \n plus senond \n test.在Python中閱讀后:"This is a test \\n plus senond \\n test."我需要保留所有 \n 作為新行并對其進行更多分析(使用 reg ex)。讀取文件并解決此問題的正確方法是什么?
2 回答

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

www說
TA貢獻1775條經驗 獲得超8個贊
從哪里獲得雙反斜杠輸出?我剛剛自己測試了這一點,并且都打印從文件中讀取的內容并將其寫回另一個文件,似乎只是保留一組......
代碼:
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.
在我的例子中,輸出文件(結果完全相同)是UTF-8。也許這與此有關?只是猜測
我無法復制您的問題,但正如 shredEngineer 所說,您可以通過簡單的替換手動修復它。知道為什么你的代碼添加第二個反斜杠會很有趣......
添加回答
舉報
0/150
提交
取消