Python Glossary English

все Python 3subprocessпонятие

subprocess.PIPE

константы

Константа для перенаправления stdin/stdout/stderr в трубопровод (pipe). Позволяет читать вывод или писать ввод программно.

Синтаксис

subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

В subprocess.run() отдельно указывать PIPE обычно не нужно — capture_output=True делает ровно это для обоих потоков сразу. PIPE полезен, когда потоки надо развести: stderr=subprocess.STDOUT сливает ошибки в общий stdout, а subprocess.DEVNULL выбрасывает ненужный вывод, не накапливая его в памяти. Труба конечна: если поток заведён в PIPE, его обязан кто-то читать, иначе дочерний процесс заблокируется на записи.

Примеры

import subprocess
result = subprocess.run(
['echo', 'привет'],
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
text=True
)
print(result.stdout)   # привет
print(result.stderr)   # пусто

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности