第9.9节 Python文件随机读写定位操作方法seek
类似于C语言,Python也提供了文件位置定位的操作方法seek。
一、 语法
- seek(offset, whence=SEEK_SET)
- 语法释义:
1)offset :将文件当前操作位置移动偏移量offset指定的字节数,移动开始位置由whence指定
2)whence:指从文件哪个位置开始进行定位,即参照位置,有如下取值:
二、 注意
- 只有采用二进制模式打开的文件,才允许使用从文件末尾和文件当前位置进行偏移定位,非二进制的文本文件,不允许使用基于文件末尾和文件当前位置进行偏移定位。因此文本文件只能基于文件开始位置进行偏移定位;
- SEEK_SET等常量是由os模块定义的,使用时需要导入os模块并带模块名。
三、 案例
>>> fp = open(r"c:\temp\test.txt","r")
>>> fp.seek(10)
10
>>> fp.read(10)
'[唐] 韦应物\n独怜'
>>> fp.seek(0)
0
>>> fp.read(10)
'滁州西涧\n[唐] 韦'
>>> 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
请大家多多支持,点赞、评论和加关注!谢谢!