f = open('指针测试.txt','a+',encoding='utf-8') # 这里会直接创建文件,可查看a,w,r,以及分别加加号‘+’和加b的区别 # tell() 显示文件指针 print(f.tell()) # 更改文件指针的位置 seek(偏移量,whence) # 偏移量是数字,距离whence字符数 # whence:0:文件开头 1:当前位置 2:文件结尾 seek(10,0) # 可能只有rb或者rb+的时候偏移量才能是负数,也就是倒着数,这里笔者没有具体测试 # f.seek(4,0) # print(f.read()) # f.seek(0,0) # f.write('aaaaa\nbbbbb\nccccc\nddddd\n') # f.seek(4,0) f.seek(0, 0) print(f.read()) print('='*10) # aaaaa\r\nbbbbb,这串数字从第五,第六个位置打印后两位是一样的 f.seek(6, 0) # seek 移动鼠标位置(位数)包含\r\n,读取时(位数)不包含\r print(f.read(2)) # 本来是光标移动到开始0,打印光标后七个的最后一个,和光标移动到第六个,打印后一个是一样的 print('-'*10) # 第六个位置是\r,第七个位置是\n,所以读七个不包括\r,会打出来b,移动六个,打印后一个则不是b f.seek(5, 0) # 可是光标的移动是包括\r\n的,多一位,所以结果会不同 print(f.read(2)) f.close() # 补充以下系统换行时所占字节位数 # windows \r\n \r表示回行首 \n换行 # unix/linux \n # mac \r
# 这里的‘指针测试.txt’文件里的内容如下:
# aaaaa
# bbbbb
# ccccc
# ddddd
文件的指针位置
猜你喜欢
转载自www.cnblogs.com/wf-skylark/p/9009091.html
今日推荐
周排行