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