seek() 方法用于移动文件读取指针到指定位置。
例如:从文件xx开始读取xx位做md5校验判断,
语法:
fileObject.seek(offset[, whence])
参数解析:
- offset – 开始的偏移量,也就是代表需要移动偏移的字节数,如果是负数表示从倒数第几位开始。
- whence:可选,默认值为 0。给 offset 定义一个参数,表示要从哪个位置开始偏移;0 代表从文件开头开始算起,1 代表从当前位置开始算起,2 代表从文件末尾算起。
返回值:
成功,返回新的文件位置,失败,则函数返回 -1。
例子:
f = open('test', 'rb+')
f.write('0123456789')
f.seek(3) # 从文件开头移动三位 即到第三个字节后 此时whence默认为0 意等于f.seek(3,0)
此时指针在光标处
f.read(1) # 读出一位
# b'3'
f.seek(-3, 2) # 从文件末尾开始移动负三位 即是倒数第三个字节
此时指针在光标处
f.read(1) # 读出一位
# b'7'