Курс 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"
- Работа с f-строками 2.0
- Официальный канал Python в Telegram
- Списки в Python
- Область видимости переменных
- Многопоточность и асинхронное программирование в Python
- Проверка подстроки в строке с помощью in
- Метод is_absolute() для PurePath
- Капитализация строк
- Установка Home Assistant
- Работа с срезами в Python
- Функции с дополнением
- Метод __int__ в Python
- Атрибуты класса и экземпляра
- Утечки переменных цикла в Python 3.x
- Метод сравнения объектов в Python
- Переворот последовательности
- Сортировка и разворот списка
- Определение основы слова с showballstemmer
- Сглаживание списка
- Генерация случайных чисел в Python
- Установка Python3.7 и PIP
- Сложение матриц в NumPy
- Профилирование кода
- Оператор in в Python
- Управление контекстом выполнения
- Модуль antigravity: генерация координат
- Установка и использование Python-dateutil
- Метод setitem в Python
- Метод bool() в Python
- Установка виртуального окружения Python
- Необязательные аргументы в Python
- Комментарии в Python
- Методы HTTP запросов в Flask
- Flask — веб-фреймворк Python
- Сортировка с параметром key
- Преобразование данных в Python
- Python Enumerate
- Генератор списка в Python
- Объединение словарей в Python
- Работа с множествами в Python
- Итерации в Python
- Упрощение работы с JSON-данными в Python
- Получение частей дроби
- Модуль itertools: эффективная работа с итераторами
- Удаление дубликатов из списка















