os.pipe()函数在Python中做什么?

os.pipe()方法创建一个管道并返回一对分别可用于读取和写入的文件描述符(r,w)。

示例

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()
# This is the parent process
if processid:
    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)

输出结果

您将获得输出:

Parent reading
Child writing
Child closing
text = Text written by child...