关于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