Подавлять вывод из подпроцесса.

Как остановить вывод из подпроцесса. Выйти из вывода? Иногда печать может быть медленной, если ее много.

Ответ 1

Если вы хотите полностью выбросить его:

import subprocess
import os
with open(os.devnull, 'w') as fp:
    cmd = subprocess.Popen(("[command]",), stdout=fp)

Если вы используете Python 2.5, вам понадобится from __future__ import with_statement или просто не используйте with.

Ответ 2

В Python 3.3+ вы можете использовать subprocess.DEVNULL, чтобы подавить вывод:

from subprocess import DEVNULL, STDOUT, check_call

check_call([cmd, arg1, arg2], stdout=DEVNULL, stderr=STDOUT)

Удалите stderr=STDOUT, если вы также не хотите подавлять stderr.