python處理文件的換行符

 

咱們知道在Windows平臺下的換行符是\r\n,而在linux下的換行符是\n。如今寫一個簡單程序來測試python是如何處理這些換行符的。python

準備文件data.txt,該文件在Windows平臺下編輯。內容爲:linux

程序:windows

path = sys.path[0]

name = 'data.txt'

li = []
with open(path + '/' + name) as f:
        for line in f:
                li.append(line)
               
print li

  

在window環境下的python2運行結果爲:app

['1\n', '1\n', '2\n', '3\n', '4']測試

對前面的代碼進行一下修改,在window環境下的python3運行結果爲:blog

['1\n', '1\n', '2\n', '3\n', '4']文檔

到這裏沒什麼問題,可是在Linux平臺下運行該程序結果就不同了。it

在linux平臺下用python2運行上述代碼,結果爲:class

['1\r\n', '1\r\n', '2\r\n', '3\r\n', '4']程序

一樣修改一下代碼,用python3運行,結果爲:

['1\n', '1\n', '2\n', '3\n', '4']

咱們再來看一看python3.7官方文檔:

 

結論:

 對Windows平臺編輯的文件,在一樣平臺下的python2解釋器,在讀取文件時會將\r\n轉換成\n,但在linux平臺下的python2解釋器就不會。

對於python3而言,不論windows和linux平臺均會將特定的換行符轉換爲\n

相關文章
相關標籤/搜索