[ python-Bugs-1057048 ] subprocess works poorly on Windows with Python 2.3

SourceForge.net noreply at sourceforge.net
Sun Oct 31 08:05:22 CET 2004


Bugs item #1057048, was opened at 2004-10-29 23:24
Message generated for change (Comment added) made by astrand
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1057048&group_id=5470

Category: Python Library
Group: Python 2.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Russell Owen (reowen)
Assigned to: Nobody/Anonymous (nobody)
Summary: subprocess works poorly on Windows with Python 2.3

Initial Comment:
My understanding was that subprocess.py was supposed to be 
backwards compatible with at least Python 2.3 if not 2.2. Wanting 
subprocess and backwards compatibility, I grabbed the subprocess.py 
from 2.4b1, changed the import if so that win32api was used (since I 
had no _subprocess library!) and found several problems, of which 
this is one (one per bug report):

If the executable has a space in its path name (as is standard on 
Windows) and command-line arguments, things fail miserably:

from subprocess import *
Popen('"C:\Program Files\ds9\xpaget" ds9 mode')

produces an error that C:\Program cannot be run. Clearly the double 
quoting isn't making it through Popen. Note that this runs just fine if 
there are no command line arguments, i.e. this works:

Popen('"C:\Program Files\ds9\xpaget"')

Note that this same bug also exists in os.popen3, so you may have 
inherited it.

This bug does NOT occur on a unix build on MacOS X.

----------------------------------------------------------------------

>Comment By: Peter Åstrand (astrand)
Date: 2004-10-31 08:05

Message:
Logged In: YES 
user_id=344921

Are you running on Windows 9X, or using command.com? 

If you are using shell=False (as in your example),
subprocess doesn't change the argument string in any way: It
is passed directly to CreateProcess. 

Can you confirm that the problem only exists with Python
2.3, and not with 2.4? In that case, it might be a bug in
win32api:s CreateProcess. 

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1057048&group_id=5470


More information about the Python-bugs-list mailing list