Python | os.pread 函数

文件偏移量不变

最近更新时间 2020-12-11 15:15:26

os.pread 函数从文件描述符 fd 所指向文件的偏移位置 offset 开始,读取至多 n 个字节,而保持文件偏移量不变。

返回所读取字节的字节串 (bytestring)。如果到达了 fd 指向的文件末尾,则返回空字节对象。

os.pread() 适用于低级 I/O 操作,必须使用 os.open() 或 os.pipe() 返回的文件描述符。

函数定义

os.pread(fd, n, offset)
# 函数定义

if sys.platform != 'win32':
    # Unix only
    ...
    def pread(__fd: int, __length: int, __offset: int) -> bytes: ...
    ...

兼容性:Unix 系统。

参数

  • checkfd - 文件描述符。
  • checkn - 需求读取的字符长度。
  • checkoffset - 文件位置偏移量。

返回值

  • checkbytes - 返回的字符串。

示例1: - 使用 os.pread() 函数读取 2 个字节的长度。

# coding=utf-8

# Python3 代码
# 讲解怎样使用 os.pread() 函数读取文件

# 引入 os 库
import os

# 文件路径
path = "foo.txt"

# 使用 os.open 函数打开文件
fd = os.open(path, os.O_RDONLY)

# 读取第 3 个字节后面的两个字符
# 不包括第 3 个位置的字符
str = os.pread(fd, 2, 3)
print(str)

# 关闭文件
os.close(fd)
b'45'
rss_feed