OS 模块的 Python os.pipe() 方法为进程间通信创建一个管道。此方法允许将数据集从一个进程传递到另一个进程。此过程是可能的,因为它返回一对文件描述符,即 “r” 和 “w”,分别可用于读取和写入。
语法
以下是 Python os.pipe() 方法的语法 -
os.pipe()
参数
Python os.pipe() 方法不接受任何参数。
返回值
Python os.pipe() 方法返回一对文件描述符。
例以下示例显示了使用 pipe() 方法进行进程间通信的实际演示。在这里,子进程可以写入管道,父进程可以从管道中读取。
import os, sys
print ("The child will write text to a pipe and ")
print ("the parent will read the text written by child...")
# file descriptors r, w for reading and writing
r, w = os.pipe()
processid = os.fork()
if processid:
# This is the parent process
# Closes file descriptor w
os.close(w)
r = os.fdopen(r)
print ("Parent reading....")
str = r.read()
print ("text =", str)
sys.exit(0)
else:
# This is the child process
os.close(r)
w = os.fdopen(w, 'w')
print ("Child writing....")
w.write("Text written by child...")
w.close()
print ("Child closing")
sys.exit(0)
当我们运行上述程序时,它会产生以下结果——
The child will write text to a pipe and
the parent will read the text written by child...
Parent reading....
Child writing....
Child closing
text = Text written by child...
the parent will read the text written by child...
Parent reading....
Child writing....
Child closing
text = Text written by child...

