Запретить stderr внутри subprocess.check_output()

Я пытаюсь найти способ игнорировать поток stderr (что-то похожее на 2> /dev/null):

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

Что я должен добавить к вышеуказанной команде для достижения этой цели?

Ответ 1

Просто скажите subprocess перенаправить его для вас:

import os
import subprocess

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

Обратите внимание, что Python 3 добавляет объект subprocess.DEVNULL, сохраняя при этом его сами.