上一篇文章中我们在读写文件内容的时候会出现后写入的内容覆盖原有的内容,或者每次读取文件的时候都从第一个字符开始读起,这样一来我们就没办法准确的操纵读写规律,所以这里再介绍一个Python文件定位(seek)光标操作的方法。
通过seek方法我们可以指定读取内容的开始位置,或者从哪里写入文本内容,下面就来详细学习一下。
seek方法构造:def seek(self, offset: int, whence: int = 0)
f = open('a.txt', 'r+')
f.seek(2) # 从左向右偏移2个字符,注意这里不是移动下标
f.seek(2, 0) # 0代表开始位置(文本文件只能是0),2代表向右偏移2个字符print(f.tell()) # 文件指针位置,这里是上面移动到第二个字符位置
content = f.read()
print(f.tell()) # 读取后文件指针到6的位置
print(content)
f.close()
f = open('a.txt', 'rb')
f.seek(-3, 2) # 2代表结尾位置(只能是二进制文件才能加1或2),-3代表向左偏移3个字符
f.seek(-3, 1) # 1代表当前位置(只能是二进制文件才能加1或2),-3代表向左偏移3个字符
print(f.tell())
content = f.read(3) # 3表示读取3个字节,同时下标会向右移动三个字节print(content)
f.close()
网友评论