Python os.pipe() 方法



Python 的 os.pipe() 方法是 OS 模块中的一个方法,用于创建进程间通信的管道。此方法允许将一组数据从一个进程传递到另一个进程。这是可能的,因为它返回一对文件描述符,分别名为“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...
python_files_io.htm
广告