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