[Python-Dev] FW: Fixing os.popen on Win32 => is the win32pipe stuff going to be adopted?

Gordon McMillan gmcm@hypernet.com
Thu, 9 Mar 2000 14:54:16 -0500


[Tim re popen on Windows]

...
> the debugger -- it's hung inside an MS DLL.  "dir" is not entirely arbitrary
> here:  for *some* cmds it works fine, for others not.  The set of which work
> appears to vary across Windows flavors.  Sometimes you can worm around it by
> wrapping "a bad" cmd in a .bat file, and popen'ing the latter instead; but
> sometimes not.

It doesn't work for commands builtin to whatever "shell" you're 
using. That's different between cmd and command, and the 
various flavors, versions and extensions thereof.

FWIW, I gave up a long time ago. I use redirection and a 
tempfile. The few times I've wanted "interactive" control, I've 
used Win32Process, dup'ed, inherited handles... the whole 9 
yards. Why? Look at all the questions about popen and child 
processes in general, on platforms where it *works*, (if it 
weren't for Donn Cave, nobody'd get it to work anywhere 
<wink>).
 
To reiterate Tim's point: *none* of the c runtime routines for 
process control on Windows are adequate (beyond os.system 
and living with a DOS box popping up). The raw Win32 
CreateProcess does everything you could possibly want, but 
takes a week or more to understand, (if this arg is a that, then 
that arg is a whatsit, and the next is limited to the values X 
and Z unless...).

your-brain-on-Windows-ly y'rs

- Gordon