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
。