Python Subprocess – выполнение внешних команд в Python

Команда subprocess в языке программирования Python предоставляет возможность запускать внешние процессы из Python-скрипта. Она предоставляет гибкий и мощный способ взаимодействия с командной строкой операционной системы.

Основная функция, которая используется для выполнения команд в подпроцессе, называется subprocess.run(). Давайте рассмотрим некоторые примеры использования.

Пример 1: Запуск простой команды

import subprocess

result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
print(result.stdout)

В данном примере мы используем команду ls -l для вывода содержимого текущей директории в формате списка. Результат выполнения команды сохраняется в переменную result. Мы используем аргументы capture_output=True и text=True, чтобы перехватить вывод команды и получить его в текстовом формате. Затем мы выводим результат на экран с помощью print(result.stdout).

Пример 2: Передача аргументов в команду

import subprocess

name = "John"
age = 25

result = subprocess.run(["python3", "script.py", name, str(age)], capture_output=True, text=True)
print(result.stdout)

В этом примере мы передаем аргументы name и age в скрипт script.py, который запускается с помощью команды python3. Мы используем str(age) для преобразования переменной age в строку, поскольку аргументы должны быть переданы в виде строк.

Пример 3: Обработка ошибок

import subprocess

try:
    result = subprocess.run(["command_does_not_exist"], capture_output=True, text=True)
    print(result.stdout)
except subprocess.CalledProcessError as e:
    print("Ошибка выполнения команды:", e)

В этом примере мы пытаемся выполнить команду command_does_not_exist, которая, очевидно, не существует. Ожидается, что возникнет ошибка CalledProcessError. В блоке except мы ловим эту ошибку и выводим сообщение об ошибке.

Пример 4: Получение кода возврата

import subprocess

result = subprocess.run(["ls"], capture_output=True, text=True)
exit_code = result.returncode
print(exit_code)

В данном примере мы выполняем команду ls и сохраняем код возврата в переменную exit_code. Код возврата равен 0, если команда выполнена успешно, и отличен от нуля в случае ошибки.

Это только некоторые примеры использования модуля subprocess в Python. Он имеет множество возможностей и функций, которые позволяют вам контролировать взаимодействие с внешними процессами.

Похожие вопросы на: "python subprocess "

Груви - музыкальный сайт на тему "Groovy"
Практическое руководство по использованию функции append в языке C
SDK Windows: скачивание, установка и использование
Ctrl Alt Del на удаленном рабочем столе
Over SQL - разбор уязвимостей SQL и методы их предотвращения
Изучение CMP Ассемблера: основы программирования и кодовые примеры
Python Pathlib - работа с путями и файлами в Python
W&B: платформа для проектов и моделей с мониторингом и визуализацией
Перезагрузить страницу с помощью JavaScript
Git fetch: что делает