關於Python文件讀取時,默認把\r\n換成\n

Python在非二進制形式讀取文件時,自動把\r\n換成\n.(window下換行是\r\n)html

創建一個test1.txt文件,spa

aaaa bbbb

1.在utf8方式下讀取code

讀取四個字符htm

1 f=open('test1.txt','r',encoding='utf-8') 2 l1=f.read(4) 3 print(l1) 4 l=f.tell() 5 print(l) 6 f.close()

打印結果;blog

1 aaaa #讀取四個字符 2 4        #光標移動四個字節

讀取五個字符utf-8

1 f=open('test1.txt','r',encoding='utf-8') 2 l1=f.read(5) #不管read()仍是readline()以及readlines()都同樣 3 print(l1) 4 l=f.tell() 5 print(l) 6 f.close()

打印結果;class

1 aaaa 2 
3 6         #從這裏能夠看出光標移動了6個字節,Python默認把\r\n兩個字符換成一個字符,也能夠看出在碰到回車符時又往下讀取了一個

2.在rb模式下讀取test

沒有對換行進行轉換coding

1 f=open('test1.txt','rb') 2 l1=f.read(5) 3 print(l1) 4 l=f.tell() 5 print(l) 6 f.close()

打印結果:二進制

1 b'aaaa\r'
2 5

讀取6個

1 f=open('test1.txt','rb') 2 l1=f.read(6) 3 print(l1) 4 l=f.tell() 5 print(l) 6 f.close()
1 b'aaaa\r\n'
2 6

 3.readlines()讀取更加明瞭

f=open('test1.txt','r',encoding='utf-8')
l1=f.readlines()
print(l1)
l=f.tell()
print(l)
f.close()

運行結果:

['aaaa\n', 'bbbb']
10

原文出處:https://www.cnblogs.com/snowony/p/11793278.html

相關文章
相關標籤/搜索