Python Glossary English

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

subprocess

модуль

Запуск внешних программ: передать аргументы, получить код возврата, перехватить stdout и stderr.

Синтаксис

import subprocess

Почти всегда хватает subprocess.run; Popen нужен, когда с процессом общаются по ходу работы. Команду передают списком аргументов — shell=True со строкой из пользовательских данных открывает инъекцию команд. Ненулевой код возврата сам по себе не ошибка: исключение будет только с check=True. Модуль заменил os.system и os.popen.

Примеры

import subprocess, sys
r = subprocess.run([sys.executable, '-c', 'print("hi")'], capture_output=True, text=True)
print(r.returncode, r.stdout.strip())  # → 0 hi

См. также

Частые ошибки

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