subprocess
Last updated
Was this helpful?
Last updated
Was this helpful?
Модуль subprocess позволяет создавать новые процессы, подключаться к их каналам ввода / вывода / ошибок и получать их коды возврата. Этот модуль предназначен для замены нескольких старых модулей и функций:
os.system
os.spawn*
Информацию о том, как можно использовать модуль subprocess для замены этих модулей и функций, можно найти в следующих разделах.
Рекомендуемый подход к вызову субпроцессов - использовать функцию run () для всех возможных вариантов использования. Для более сложных случаев использования можно напрямую использовать базовый интерфейс .
Функция run () была добавлена в Python 3.5; если вам нужно сохранить совместимость со старыми версиями, см. раздел Older high-level API.
run ()
CompletedProcess class
DEVNULL
- специальное значение для аргументов stdin, stdout, stderr класса Popen
STDOUT
SubprocessError exception
TimeoutExpired exception
CalledProcessError exception
не заполнено...
Создание базового процесса и управление им в этом модуле осуществляется классом Popen. Он предлагает большую гибкость, поэтому разработчики могут обрабатывать менее распространенные случаи, не охватываемые вспомогательными функциями.
не заполнено...
не заполнено...
poll ()
send_signal ()
terminate ()
kill ()
STARTUPINFO class
Модуль subprocess предоставляет следующие константы:
STD_INPUT_HANDLE
не заполнено...
До Python 3.5 эти три функции составляли высокоуровневый API для сопроцессов. Теперь вы можете использовать run () во многих случаях, но многие из существующих кодов вызывают эти функции.
check_call ()
check_output ()
не заполнено...
Этот модуль также предоставляет следующие унаследованные функции из модуля команд Python 2.x. Эти операции неявно вызывают системную оболочку, и ни одна из описанных выше гарантий безопасности и согласованности обработки исключений не действует для этих функций.
getstatusoutput ()
getoutput ()
не заполнено...
class - выполняет дочернюю программу в новом процессе
Экземпляры класса имеют следующие методы:
- ожидает пока дочерний процесс завершится
- взаимодействие с процессом
- переданный в Popen аргумент args
- записываемый объект потока, если аргумент stdin = PIPE
- считываемый объект потока, если аргумент stdout = PIPE
- считываемый объект потока, если аргумент stderr = PIPE
- идентификатор ID дочернего процесса
- код завершения дочернего процесса
- запускает команду, переданную в args