Python | os.pipe 函数
怎样创建管道,写入和读取数据
最近更新时间 2020-12-10 14:21:22
os.pipe 函数创建一个管道,返回一对分别用于读取和写入的文件描述符 (r, w)。
管道是一种将信息从一个进程传递到另一个进程的方法。它仅提供单向通信,并且传递的信息由系统保留,直到被接收过程读取为止。
这个概念是由道格拉斯·麦克罗伊为 Unix 命令行发明的,因与物理上的管道相似而得名。
函数定义
os.pipe()
# 函数定义
def pipe() -> Tuple[int, int]: ...
参数
- checkNone - 无。
返回值
- checkTuple[int, int] - 读和写文件描述符。
示例1: - 使用 os.pipe() 函数创建管道进行读写。
# coding=utf-8
# Python3 代码
# 讲解怎样使用 os.pipe() 函数创建管道进行读写
# 引入 os 库
import os
# 创建一个管道
r, w = os.pipe()
# 创建一个子进程
# 父进程用于读,子进程用于写
pid = os.fork()
if pid > 0:
# 父进程
# 关闭读文件
os.close(r)
# 写入数据
print("Parent process is writing")
text = b"Hello child process"
os.write(w, text)
print("Written text:", text.decode())
else:
# 子进程
# 关闭读文件
os.close(w)
# 读取父进程数据
print("\nChild Process is reading")
r = os.fdopen(r)
print("Read text:", r.read())
Parent process is writing Written text: Hello child process Child Process is reading Read text: Hello child process