Wie Sie feststellen Teilprozess.Popen() ist fehlgeschlagen, wenn die shell=True

Windows-version von Python 2.6.4: gibt es eine Möglichkeit, um festzustellen, ob Teilprozess.Popen() schlägt fehl, wenn mit shell=True?

Popen() erfolgreich ausfällt, wenn die 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

Aber bei shell=True, es scheint keine Möglichkeit zu bestimmen, ob ein Popen () - Aufruf erfolgreich war oder nicht.

>>> p = subprocess.Popen( 'Nonsense.application', shell=True )
>>> p
>>> subprocess.Popen object at 0x0275FF90>>>
>>> p.pid
6620
>>> p.returncode
>>>

Ideen schätzen.

Grüße,
Malcolm

InformationsquelleAutor Malcolm | 2010-05-18
Schreibe einen Kommentar