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 "

Infinity Yield Script - мощный инструмент для увеличения доходности вашего сайта
Java цикл for: примеры и особенности
OpenResty: мощное решение для создания высоконагруженных веб-приложений
<input type="number">: управление числовыми значениями
Java 8 Update 45: новые функции и улучшения
Включение iostream в C++: что это такое
Throw js: библиотека для бросания исключений в JavaScript
Условный оператор IF-ELSE в SQL: описание и примеры
Flex Grow CSS: управление размером и распределением элементов
Debounce: что это такое и как использовать