Python | os.pwrite 函数

Lasted 2020-12-12 12:31:50

os.preadv 函数将 str 中的字节串 (bytestring) 写入文件描述符 fd 的偏移位置 offset 处,保持文件偏移量不变。

偏移位置后的文件内容会被覆盖,只会替换新字符的长度,其余位置保持不变。

函数定义

os.pwrite(fd, str, offset)
# 函数定义

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

兼容性:Unix 系统。

参数

  • checkfd - 文件描述符。
  • checkstr - 字节串。
  • checkoffset - 文件偏移量。

返回值

  • checkint - 写入字符串的长度。

示例1: - 使用 os.preadv() 函数写入字符串。

# coding=utf-8

# Python3 代码
# 讲解怎样使用 os.pwrite() 函数写入字符串

# 引入 os 库
import os

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

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

# 使用 os.pwrite 函数
# 从第 3 个位置写入字符串
s = b"Py"
len = os.pwrite(fd, s, 3)

# 缓冲的字符长度
print('Length::', len)

# 读取文件内容
with open(path) as f:
    print(f.read())

# 关闭文件
os.close(fd)
Length:: 2
fooPython

fd 文件描述符需要可写权限,否则抛出 OSError 异常 OSError: [Errno 9] Bad file descriptor