本文主要是介绍Python入门文件之: seek()和tell()函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Python open() 函数打开文件并读取文件中的内容时,总是会从文件的第一个字符(字节)开始读起。
那么,有没有办法可以自定指定读取的起始位置呢?
实现对文件指针的移动,文件对象提供了 tell() 函数和 seek() 函数。tell() 函数用于判断文件指针当前所处的位置,而 seek() 函数用于移动文件指针到文件的指定位置。
各个参数的含义如下:
- file:表示文件对象;
- whence:作为可选参数,用于指定文件指针要放置的位置,该参数的参数值有 3 个选择:0 代表文件头(默认值)、1 代表当前位置、2 代表文件尾。
- offset:表示相对于 whence 位置文件指针的偏移量,正数表示向后偏移,负数表示向前偏移。例如,当
whence == 0 &&offset == 3
(即 seek(3,0) ),表示文件指针移动至距离文件开头处 3 个字符的位置;当whence == 1 &&offset == 5
(即 seek(5,1) ),表示文件指针向后移动,移动至距离当前位置 5 个字符处。
file.tell()file.seek(offset,[whence])f = open('a.txt', 'rb')print(f.tell()) # 判断文件指针的位置print(f.read(1)) # 读取一个字节,文件指针自动后移1个数据
print(f.tell())f.seek(5) # 将文件指针从文件开头,向后移动到 5 个字符的位置
print(f.tell())
print(f.read(1))f.seek(5, 1) # 将文件指针从当前位置,向后移动到 5 个字符的位置
print(f.tell())
print(f.read(1))f.seek(-1, 2) # 将文件指针从文件结尾,向前移动到距离 10 个字符的位置
print(f.tell())
print(f.read(1))
这篇关于Python入门文件之: seek()和tell()函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!