все 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Сообщить о неточности