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


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

建立一個test1.txt文件,

aaaa
bbbb

1.在utf8方式下讀取

讀取四個字符

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()

打印結果;

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

讀取五個字符

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()

打印結果;

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

2.在rb模式下讀取

沒有對換行進行轉換

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM