1.若不指定括号中的1,系统默认为0
f=open(‘test’,‘r’,encoding=‘utf-8’)
print(f.tell())
f.seek(10)
print(f.tell())
f.seek(3)
print(f.tell())
输出结果为0,10,3
2.指定为1,只能使用b模式
f=open(‘test’,‘rb’)
print(f.tell())
f.seek(10,1)
print(f.tell())
f.seek(3,1)
print(f.tell())
输出结果为0,10,13
3.指定为2,倒着读取,Windows下回车是\r\n,光标到达倒数第五个位置后把其余内容读取出来。
f=open(‘test’,‘rb’)
print(f.tell())
f.seek(-5,2)
print(f.read())
输出结果为\r\n123
4.将文件最后一行读取出来,但使用这种方式必须讲文件每一行全部读取出来后再提取最后一行,浪费内存。
f=open(‘test’,‘rb’)
data=f.readlines()
print(data[-1].decode(‘utf-8’))
另一种使用seek的方式: