Модуль subprocess

Обновлено: 2024-03-12
1 мин

Содержание

Модуль subprocess является одним из наиболее мощных и распространенных модулей Python для управления другими процессами в операционной системе.

Основная цель subprocess заключается в том, чтобы предоставить простой и удобный способ создания новых процессов, подключения к уже существующим процессам, их управления и взаимодействия с ними.

Одним из основных классов в модуле subprocess является класс Popen, который представляет собой объект, связанный с запущенным в операционной системе процессом.

Например, чтобы запустить новый процесс с помощью Popen, мы можем использовать следующий код:

import subprocess

process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
print(stdout.decode())

В этом примере мы создаем новый процесс, который выполняет команду ls -l в командной строке операционной системы.

Затем мы отправляем строку в стандартный ввод процесса, используя метод communicate(), и получаем результат его работы в переменной output.

Наконец, мы выводим содержимое переменной output на экран.

Кроме того, модуль subprocess также предоставляет удобный способ проверки состояния завершения процессов с помощью метода poll() и ожидания их завершения с помощью метода wait().

В целом, модуль subprocess является очень полезным инструментом для управления процессами в операционной системе и взаимодействия с ними из Python.