Python入门学习教程之seek与tell方法!
老男孩IT教育
常见问题
2021年7月20日 17:59
文件指针用于标明文件读写的起始位置。使用open()函数打开文件并读取文件中的内容时,总是会从文件的第一个字符(字节)开始读起,而借助seek函数则可以移动文件指针的位置,在通过read()和write()函数读写指定位置的数据。而tell()函数则是获取光标当前位置。
文件指针用于标明文件读写的起始位置。使用open()函数打开文件并读取文件中的内容时,总是会从文件的第一个字符(字节)开始读起,而借助seek函数则可以移动文件指针的位置,在通过read()和write()函数读写指定位置的数据。而tell()函数则是获取光标当前位置。
当向文件中写入数据时,如果不是文件的尾部,写入位置的原有数据不会自行向后移动,新写入的数据会将文件中处于该位置的数据直接覆盖掉。
seek()函数用于将文件指针移动至指定位置,该函数的语法格式如下:
file.seek(offset[, whence])
其中,各个参数的含义如下:
whence作为可选参数,用于指定文件指针要放置的位置,该参数的参数值有3个选择:0代表文件头(默认值)、1代表当前位置、2代表文件尾。
offset:表示相对于whence位置文件指针的偏移量,正数表示向后偏移,负数表示向前偏移。例如,当whence==0&&offset==3(即seek(3,0)),表示文件指针移动至距离文件开头处3个字符的位置;当whence==1 &&offset==5(即 seek(5,1)),表示文件指针向后移动,移动至距离当前位置5个字符处。
# hi friends,welcome to oldboy!
f = open("hi",mode="rb")
print(f.tell()) # 0
print(f.read(3)) # b'hi '
print(f.tell()) # 3
f.seek(3,1)
print(f.read(1)) # b'e'
注意,当 offset 值非 0 时,Python 要求文件必须要以二进制格式打开,否则会抛出 io.UnsupportedOperation 错误。
老男孩IT教育针对企业用人需求专门设置定制化Python课程,学员无基础也可以学习,所有课程都是老师团队研发成立,引用了大型企业项目实战教学,全程采用七位一体授课模式,让学员边学边积累经验。
推荐阅读:
