seek() seek() 是用来在文件中移动指针位置的方法。它的作用是将文件内部的当前位置设置为指定的位置。
seek(offset, whence)
offset: 这是一个整数值,表示相对于起始位置的偏移量。如果是正数,表示向文件末尾方向移动;如果是负数,表示向文件开头方向移动;如果是0,表示移动到文件的起始位置。
whence: 这是一个可选参数,指定偏移量的参考位置。它有三个可选值:
0 表示从文件开头开始计算偏移量(默认值)。1 表示从当前位置计算偏移量。2 表示从文件末尾计算偏移量。从文件开头偏移:
file.seek(0) # 将文件指针移动到文件开头
从文件末尾偏移:
file.seek(0, 2) # 将文件指针移动到文件末尾
从当前位置偏移:
file.seek(-10, 1) # 将文件指针向当前位置的前10个字节移动
seek() 方法返回的是文件指针的当前位置(以字节为单位)。在处理文件时,seek() 是一个非常有用的方法,特别是在需要跳转到文件的特定位置进行读取或写入
tell() tell() 是用来获取文件指针当前位置的方法。在文件操作中,文件指针表示从文件开头到当前位置的字节数。
file.seek(offset, whence) 方法移动文件指针时,可以通过 file.tell() 方法获取当前的文件指针位置。tell() 方法返回一个整数,表示文件指针当前的字节偏移量。假设你打开了一个文件并移动了文件指针的位置:
- file = open('example.txt', 'r')
- file.seek(10) # 移动文件指针到第10个字节处
- current_position = file.tell() # 获取当前文件指针位置
- print("Current position:", current_position)
在这个示例中,如果文件中确实存在至少10个字节的数据,tell() 将返回值10,表示文件指针当前位于文件的第10个字节处。
tell() 返回的是以字节为单位的整数,表示文件指针当前的位置。seek() 和 tell() 可以精确控制文件指针的位置,从而实现文件内容的定位和操作。总之,tell() 是文件操作中一个重要的方法,用于获取文件指针当前的位置信息。