Chaining programs with pipe

Steve Holden steve at
Wed Aug 22 06:35:17 CEST 2007

Grant Edwards wrote:
> On 2007-08-21, avishay <avishorp at> wrote:
>> I'm trying to chain two programs with a pipe (the output of
>> one feeding the input of the other). I managed to capture the
>> output and feeding the input of each program independently
>> with popen, but how do I tie them together?
> On Unix, you do the same thing you would in C. Create a pipe
> using os.pipe(), then run one program with stdout connected to
> the "write" end of the pipe and the other program with stdin
> connected to the "read" end of the pipe.
> Or you can take a bit of a shortcut by letting the subprocess
> module create the pipe for you:
>> Is there a solution that works equally on all platforms?
> The doc page for subprocess doesn't say what platforms support
> it.  I've had a lot of problems trying to use the subprocess
> module on windows.  As is typical for Windows, there are all
> sorts of special cases that either don't work at all or don't
> work the way they should. You pays your money and you takes
> your chances.

I will shortly have to write some training material on using subprocess 
under Windows, so if you have any pointers to where your accumulated 
knowledge can be gleaned I would be grateful for the time saving.

Steve Holden        +1 571 484 6266   +1 800 494 3119
Holden Web LLC/Ltd 
Skype: holdenweb
--------------- Asciimercial ------------------
Get on the web: Blog, lens and tag the Internet
Many services currently offer free registration
----------- Thank You for Reading -------------

More information about the Python-list mailing list