Deaktivieren Sie die Konsolenausgabe von subprocess.Popen in Python

8

Ich starte Python 2.5 unter Windows und irgendwo im Code, den ich habe

%Vor%

um das IE-Fenster mit pid zu beenden. Das Problem ist, dass ich, ohne das Piping in Popen einzurichten, trotzdem eine Ausgabe an die Konsole bekomme - SUCCESS: Der Prozess mit PID 2068 wurde beendet. Ich habe es in CreateProcess in subprocess.py getestet, kann aber nicht von dort gehen.

Weiß jemand, wie man das deaktiviert?

    
Denis Masyukov 07.08.2009, 13:34
quelle

2 Antworten

7
%Vor%     
Mark 07.08.2009, 13:41
quelle
11
%Vor%

Ich übergebe immer Tupel zum Unterprozess, da es mir dabei hilft, mich um Flucht zu sorgen. check_call stellt sicher, dass (a) der Subprozess beendet wurde bevor die Pipe geschlossen wird und (b) ein Fehler im aufgerufenen Prozess nicht ignoriert wird. Schließlich ist os.devnull die standardmäßige, plattformübergreifende Art, in Python 2.4 + NUL zu sagen.

Beachten Sie, dass der Unterprozess in Py3K DEVNULL für Sie bereitstellt. Sie können also einfach Folgendes schreiben:

%Vor%     
Alice Purcell 07.08.2009 19:58
quelle

Tags und Links