@link_vrb

Как избавиться от вывода в subprocess.Popen в python3?

При выполнении команды в subprocess.Popen, весь вывод и все ошибки выводятся в основное окно терминала. Как вообще избавиться от вывода?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
drygdryg
@drygdryg
Python-разработчик
Используйте subprocess.DEVNULL:
import subprocess

process = subprocess.Popen(['ls', '-la'], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)

В данном примере подавляется stdout (стандартный поток вывода) и stderr (поток вывода ошибок).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@JRBRO
Если вы не просто хотите забить на ошибки, а просто их не отображать в консоли, можно настроить вывод в тхт файл.
Ответ написан
Комментировать
shabelski89
@shabelski89
engineer
Все просто, отправляете вывод STDOUT в DEV/NULL , и STDERR тоже если не требуется.
import os
import subprocess

retcode = subprocess.call(['echo', 'foo'], 
    stdout=subprocess.DEVNULL,
    stderr=subprocess.STDOUT)

гуглится на раз
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Сбер Иннополис
от 80 000 ₽
Сбер Москва
от 200 000 до 300 000 ₽
SpectrumData Екатеринбург
от 150 000 до 250 000 ₽