第9.9节 Python文件随机读写定位操作方法seek

类似于C语言,Python也提供了文件位置定位的操作方法seek。

一、 语法

  1. seek(offset, whence=SEEK_SET)
  2. 语法释义:
    1)offset :将文件当前操作位置移动偏移量offset指定的字节数,移动开始位置由whence指定
    2)whence:指从文件哪个位置开始进行定位,即参照位置,有如下取值:
    在这里插入图片描述

二、 注意

  1. 只有采用二进制模式打开的文件,才允许使用从文件末尾和文件当前位置进行偏移定位,非二进制的文本文件,不允许使用基于文件末尾和文件当前位置进行偏移定位。因此文本文件只能基于文件开始位置进行偏移定位;
  2. SEEK_SET等常量是由os模块定义的,使用时需要导入os模块并带模块名。

三、 案例

>>> fp = open(r"c:	emp	est.txt","r")
>>> fp.seek(10)
10
>>> fp.read(10)
'[唐] 韦应物
独怜'
>>> fp.seek(0)
0
>>> fp.read(10)
'滁州西涧
[唐] 韦'
>>> import os
>>> fp.seek(4,os.SEEK_CUR)
Traceback (most recent call last):
  File "<pyshell#196>", line 1, in <module>
    fp.seek(4,os.SEEK_CUR)
io.UnsupportedOperation: can't do nonzero cur-relative seeks

本节介绍了seek方法的使用,并简单举例进行了说明,注意文本文件模式打开文件只能基于文件头进行文件偏移定位,偏移量是基于字节来计算的。

老猿Python,跟老猿学Python!
博客地址:https://blog.csdn.net/LaoYuanPython

请大家多多支持,点赞、评论和加关注!谢谢!

原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643687.html