当文件内容中间需要增加内容时,单纯的使用w和a模式已无法实现,所以我们需要对文件内的光标进行移动
offset 代表文件指针的偏移量,单位是字节,
whence 代表光标的位置,
0:参照文件的开头 t和b都可以使用
1:参照光标所在的当前位置 只能在b模式下用
2:参照文件的末尾 只能在b模式下使用
# test02.txt# >>>>>>#tian是天上的云#tian是天上的云#tian是天上的云# >>>>>>
with open(r‘test02.txt‘,‘r‘,encoding=‘utf-8‘) as f: print(f.read(5))#tian是
# 在rt模式下 read内的数字 表示的是字符的个数
# 除此之外,数字表示的都是字节
只有在r模式下才可以进行游标操作(游标操作的是字节)with open(‘a.txt‘,‘rb‘) as rb: date = rb.read(10) f.seek(2,0) #seek(offset,whence) offset 前面的是游标移动的字节数,正数表示向后移动,负号表示向前移动。 逗号后面的数字在b模式下可以为0、1、2 whence 0:游标置到开头 1:游标置到当前位指 2:游标置到末尾# 你是日本人with open(‘target.txt‘, ‘rb‘) as f:# 先读6个字节data = f.read(6)print(data.decode(‘utf-8‘)) # 你是# 将游标从头开始往后偏移3个字节f.seek(3, 0)data = f.read(6)print(data.decode(‘utf-8‘)) # 是日# 从当前游标位置往前偏移3个字节f.seek(-3, 1)data = f.read(3)print(data.decode(‘utf-8‘)) # 日f.seek(-3, 2)data = f.read(3)print(data.decode(‘utf-8‘)) # 人