Курс Python → Модуль subprocess: запуск внешних команд
Модуль subprocess в Python предоставляет возможность выполнения внешних команд из программы на Python. Это может быть полезно, если вам нужно взаимодействовать с операционной системой или другими приложениями на уровне командной строки. Один из основных методов этого модуля — subprocess.run, который позволяет запускать команды и получать результаты их выполнения.
Для использования функции subprocess.run с опцией capture_output=True необходимо иметь версию Python 3.7 и выше. Это позволяет перехватывать вывод команды и получать его в виде байтов. Если вы хотите интерпретировать вывод как текст, вы можете добавить опцию text=True. Это упрощает работу с текстовыми данными, полученными от выполненной команды.
import subprocess
result = subprocess.run(["ls", "-l"], capture_output=True, text=True)
print(result.stdout)
Метод input в subprocess.run позволяет передать входные данные для выполнения команды. Например, если вам нужно передать данные в команду, которая их ожидает через стандартный ввод, вы можете использовать этот метод. Это особенно полезно при автоматизации задач, где вам нужно запускать команды с определенными входными данными.
Использование модуля subprocess требует осторожности, так как выполнение внешних команд может быть опасным из-за уязвимостей безопасности. Всегда проверяйте входные данные, которые вы передаете в команду, чтобы избежать возможных атак через командную строку. Также рекомендуется использовать абсолютные пути к исполняемым файлам, чтобы избежать проблем с поиском исполняемых файлов.
Другие уроки курса "Python"
- Описание скриптов в README
- Операции с числами в Python
- Возврат нескольких значений
- Python groupby() из itertools: работа с повторяющимися элементами
- Изменение элемента списка
- Логирование с Logzero
- Раздувающийся словарь в Python
- Метод __irshift__ для побитового сдвига вправо
- Уникальные значения из списка
- Работа со строками в Python
- Вложенные функции в Python
- Оптимизация гиперпараметров с Scikit Optimize
- Особенности запятых в Python
- Принципы LSP и ISP в Python
- Отладка кода
- Solidity для DeFi Ethereum
- Возведение в квадрат с помощью itertools
- Генераторы в Python
- Метод __iand__ для пользовательских классов
- Метод join для объединения строк
- Шаблоны и наследование в Flask
- Удаление ключей из словаря
- Применение функции map() в Python
- Удаление ссылок в Python
- Логирование с Loguru
- Проверка запуска скрипта или импорта модуля
- Добавление вложенных списков
- Метод rxor для операции побитового исключающего «или»
- Операторы увеличения и уменьшения переменной
- Работа с географическими данными в Python
- Просмотр атрибутов и методов класса
- Функции высшего порядка в Python
- Конкатенация строковых литералов
- Импорт модулей и пакетов в Python
- Работа с файлами в Python
- Установка и использование pyshorteners
- Метод Self в Python
- Получение обратного списка чисел
- Поиск шаблона в строке
- Объединение списков с использованием itertools.chain
- Просмотр атрибутов и методов класса
- Отрицательные индексы списков
- Поиск уникальных элементов строкой в Python
- Создание итератора
- Профилирование данных с Pandas















