1.移动光标位置seek()

注意1:seek填写的参数是字节,不是字符
注意2:在追加模式中,只要进行写入,seek是无效的,因为追加模式会强行把光标放到文件末尾,但是读取的话seek是依然有效的.

  1. f = open('info.txt', mode='r+', encoding='utf-8')
  2. # 移动到指定字节的位置
  3. f.seek(3)
  4. f.write("武沛齐")
  5. f.close()

seek相对位置用法:
file.seek(off, whence=0):从文件中移动off个操作标记(文件指针),正往结束方向移动,负往开始方向移动。如果设定了whence参数,就以whence设定的起始位为准,0代表从头开始,1代表当前位置,2代表文件最末尾位置。
注意3:
当whence设定相对位置为1的时候,只允许用二进制模式进行相对位移,其他模式只允许把头作为基准点

2.获取当前光标位置tell()

注意:这个类型也是字节类型

  1. f = open('info.txt', mode='r', encoding='utf-8')
  2. p1 = f.tell()
  3. print(p1) # 0
  4. f.read(3) # 读3个字符 3*3=9字节
  5. p2 = f.tell()
  6. print(p2) # 9
  7. f.close()