2015-07-28 3 views
11

Ich versuche, einen Weg zu finden, den stderr Strom (etwas Ähnliches wie 2> /dev/null) zu ignorieren:Suppress stderr innerhalb subprocess.check_output()

output = subprocess.check_output("netstat -nptl".split()) 

Was soll ich zu dem obigen Befehl hinzufügen, um dies zu erreichen?

+0

verwandt: [Wie ausblenden Ausgabe von Subprozess in Python 2.7] (http://stackoverflow.com/q/11269575) – jfs

Antwort

20

Gerade subprocess sagen es für Sie zu umleiten:

import os 
import subprocess 

with open(os.devnull, 'w') as devnull: 
    output = subprocess.check_output("netstat -nptl".split(), stderr=devnull) 

Beachten Sie, dass Python 3 fügt eine subprocess.DEVNULL object, speichern Sie diese Texte selbst zu öffnen.