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
bbbbb
ccccc
ddddd
')
# f.seek(4,0)
f.seek(0, 0)
print(f.read())
print('='*10)
# aaaaa
bbbbb,这串数字从第五,第六个位置打印后两位是一样的
f.seek(6, 0) # seek 移动鼠标位置(位数)包含
,读取时(位数)不包含
print(f.read(2)) # 本来是光标移动到开始0,打印光标后七个的最后一个,和光标移动到第六个,打印后一个是一样的
print('-'*10) # 第六个位置是
,第七个位置是
,所以读七个不包括
,会打出来b,移动六个,打印后一个则不是b
f.seek(5, 0) # 可是光标的移动是包括
的,多一位,所以结果会不同
print(f.read(2))
f.close()
# 补充以下系统换行时所占字节位数
# windows
表示回行首
换行
# unix/linux
# mac
# 这里的‘指针测试.txt’文件里的内容如下:
# aaaaa
# bbbbb
# ccccc
# ddddd