📜  Python| os.readv() 方法

📅  最后修改于: 2022-05-13 01:55:27.012000             🧑  作者: Mango

Python| os.readv() 方法

Python中的OS 模块提供了与操作系统交互的功能。操作系统属于 Python 的标准实用程序模块。该模块提供了一种使用操作系统相关功能的可移植方式。

Python中的os.readv()方法用于从指定文件描述符指示的文件中读取数据到多个指定缓冲区中。在这里,缓冲区是可变字节类对象的序列。此方法从文件描述符读取数据并将读取的数据传输到每个缓冲区,直到它已满,然后移动到序列中的下一个缓冲区以保存其余数据。

文件描述符是与当前进程已打开的文件相对应的小整数值。它用于执行各种较低级别的 I/O 操作,如读、写、发送等。

注意os.readv()方法仅在 UNIX 平台上可用。

将以下文本视为名为Python_intro.txt的文件的内容。

代码:使用 os.readv() 方法
# Python program to explain os.readv() method
  
# import os module
import os
  
# File path
path = "./file.txt"
  
# Open the file and get the
# file descriptor associated 
# with it using os.open() method
fd = os.open(path, os.O_RDONLY)
  
  
# Bytes-like objects to hold
# the data read from the file
size = 20 
buffer1 = bytearray(size)
buffer2 = bytearray(size)
buffer3 = bytearray(size)
  
  
# Read the data from the
# file descriptor into 
# bytes-like objects
# using os.readv() method
numBytes = os.readv(fd, [buffer1, buffer2, buffer3])
  
  
# Print the data read in buffer1
print("Data read in buffer 1:", buffer1.decode())
  
# Print the data read in buffer2
print("Data read in buffer 2:", buffer2.decode())
  
# Print the data read in buffer3
print("Data read in buffer 3:", buffer3.decode())
  
# Print the number of bytes actually read
print("\nTotal Number of bytes actually read:", numBytes)
输出:
Data in buffer 1: Python is a widely u
Data in buffer 2: sed general-purpose,
Data in buffer 3:  high level programm

Total Number of bytes actually read: 60