2. 文件的随机读写

什么是文件的随机读写

文件的随机读写是指能够在文件的任意位置直接读取或写入数据,而无需按顺序从头到尾遍历内容。

随机读写通过移动文件的读写位置来快速定位到指定位置,实现高效的数据操作。

应用场景

  1. 需改部分内容。
  2. 高效查询‌。
  3. 二进制文件处理‌。
  4. 日志追加‌。

随机读写的方法

方法
说明
file.tell()
返回当前读写位置(相对于文件头)
file.seek(offset, whence=0)
设置文件的读写位置

file.seek()的参数

示例:

文件 b.txt 内容如下:

>>> f = open('b.txt', 'rb')
>>> f.tell()
0
>>> f.read(3)
b'abc'
>>> f.tell()
3
>>> f.read()
b'de\nABCDE\n123###xxx'
>>> f.tell()
21
>>> f.seek(2, 0)
2
>>> f.read(3)
b'cde'
>>> f.tell()
5

文件对象的其他方法

方法
说明
file.flush()
把写入文件对象的缓存内容写入到磁盘
file.readable()
判断这个文件是否可读,可读返回True,否则返回False
file.writeable()
判断这个文件是否可写,可写返回True,否则返回False
file.seekable()
返回这个文件对象是否支持随机定位
file.truncate(pos = None)
剪掉自pos位置之后的数据,返回新的文件长度