title: Is it possible to duplicate a pipe in Python, so that it has one write end but two read ends?
body: <p>Suppose I have a process that generates some data, and this data is consumed by two different processes which are independent of one another. </p>
  
  <p>One way to solve this problem would be to have the generated data written to a file, and then have the other two processes read from the file. This will work fine if the size of the file is not big, but IO becomes expensive if there is a lot of data.</p>
  
  <p>If I had only one process consuming the data, I can just connect the two processes using <code>os.pipe()</code> and funnel data from the output of one into the input of the other.</p>
  
  <p>However, since I have two consumer processes, I'm not sure if there's a way I can duplicate the read side of the pipe so that both consumers can read from it.</p>