How to determine subprocess.Popen() failed when shell=True
python at bdurham.com
python at bdurham.com
Mon May 17 16:45:47 EDT 2010
Windows version of Python 2.6.4: Is there any way to determine if
subprocess.Popen() fails when using shell=True?
Popen() successfully fails when shell=False
>>> import subprocess
>>> p = subprocess.Popen( 'Nonsense.application', shell=False )
Traceback (most recent call last):
File "<pyshell#258>", line 1, in <module>
p = subprocess.Popen( 'Nonsense.application' )
File "C:\Python26\lib\subprocess.py", line 621, in __init__
errread, errwrite)
File "C:\Python26\lib\subprocess.py", line 830, in
_execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
But when shell=True, there appears to be no way to determine if a
Popen() call was successful or not.
>>> p = subprocess.Popen( 'Nonsense.application', shell=True )
>>> p
<subprocess.Popen object at 0x0275FF90>
>>> p.pid
6620
>>> p.returncode
>>>
Regards,
Malcolm
More information about the Python-list
mailing list