Python os.pipe() Method
The Python os.pipe() method of the OS module creates a pipe for inter-process communication. This method allows set of data to be passed from one process to another. This process is possible because it returns a pair of file descriptors namely "r" and "w" usable for reading and writing, respectively.
Syntax
Following is the syntax for Python os.pipe() method −
os.pipe()
Parameters
The Python os.pipe() method does not accept any parameter.
Return Value
The Python os.pipe() method returns a pair of file descriptors.
Example
The following example shows the practical demonstration of inter-process communication using pipe() method. Here, the child process can write to a pipe and the parent process can read from it.
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)
When we run above program, it produces following result −
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