Курс 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"
- Обработка данных в Python
- ChainMap.new_child() — добавление нового словаря
- Изменение IP-адреса в Python
- Расширение информации об ошибке в Python
- Оператор space-invader
- Python Calendar Usage
- Python Метод Union Множеств
- Обновление множества в Python
- Блок try…finally в Python
- Экспорт функций в Python
- Измерение времени выполнения кода
- Объединение кортежей в Python
- Работа с изменяемыми коллекциями
- Рекурсия для обращения строки
- Транспонирование 2D-массива с помощью zip
- Класс Counter() для подсчета элементов
- Метод splitlines() для разделения строк
- Разделение строки на подстроки в Python
- Замыкания в Python
- Модуль xkcd: добавление юмора в Python
- Генераторы в Python
- Работа с процессами в Python
- Метод join() для объединения строк
- Карта бомбоубежищ в Москве и Питере
- Добавление кнопки в tkinter
- Контекстный менеджер в Python
- Обновление данных через PUT запрос
- Декораторы в Python
- Установка Git и AWS CLI
- Улучшенные подсказки для импорта в Python 3.12
- Метод сравнения объектов в Python
- Измерение времени выполнения кода с использованием time
- Вывод баннеров
- Работа с комплексными числами
- Печать календаря в Python
- Получение атрибутов и методов класса
- Синхронизация доступа к ресурсам
- Функция pow() — возвести число в степень
- Преобразование вложенного списка
- Метод ior для битовых операций
- Переворот строки с использованием цикла
- Переопределение метода xor в Python
- Библиотека schedule: планировщик задач
- Логические значения в Python
- Удаление дубликатов с помощью множеств
- Запрос DELETE с библиотекой requests
- Избегайте изменяемых аргументов
- Определение локальных переменных в Python















