在文件的一次打开与关闭之间进行的读写操作都是连续的,程序总是从上次读写的位置继续向下进行读写操作。实际上,每个文件对象都有一个称为“文件读写位置”的属性,该属性用于记录文件当前读写的位置。

Python提供用于获取文件读写位置以及修改文件读写位置的方法tell()方法与seek()方法。下面对这两个方法的使用进行介绍。

1.tell()方法

tell()方法用于获取当前文件读写的位置,其语法格式如下:

txt_data.tell()

以文件txt_file.txt中的内容为例,使用tell()方法获取当前文件读取的位置,示例代码如下:

file = open('txt_file.txt', mode='r', encoding='utf-8')
print(file.read(7))   # 读取7个字节
print(file.tell())   # 输出文件读取位置

上述代码使用read()方法读取7个字节的数据,然后通过tell()方法查看当前文件的读写位置。

运行代码,结果如下所示:

Life is7

2. seek()方法

seek()方法用于设置当前文件读写位置,其语法格式如下:

txt_data.seek(offset, from)

seek()方法的参数offset表示偏移量,即读写位置需要移动的字节数;from参数用于指定文件的读写位置,该参数的取值有:0、1、2,它们代表的含义分别如下:

0:表示在开始位置读写;

1:表示在当前位置读写;

2:表示在末尾位置读写。

以读取文件txt_file.txt的内容为例,使用seek()方法修改读写位置,示例代码如下。

file = open('txt_file.txt', mode='r',encoding='utf-8')
file.seek(15, 0)
print(file.read())
file.close()

上述代码使用seek()方法将文件读取位置移动至开始位置偏移15个字节,然后使用read()方法读取txt_file.txt中的数据。

运行代码,结果如下所示:

use Python.
Hello Python.Hello world
python程序开发

妙蛙种子
4 声望1 粉丝