Курс 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"
- Мониторинг памяти с Pympler
- Частичное совпадение пользовательского ввода в Python 3.10
- Удаление символа из строки
- Встраивание HTML в Jupyter Notebook
- Методы list в Python
- Логирование с Loguru
- Работа с модулем bisect
- Генератор бросков кубиков
- Добавление вложенных списков
- Сортировка данных с лямбда-функциями
- Определение основы слова с showballstemmer
- Генератор списка в Python
- Перевод текста с Python Translator
- Метод join() для объединения элементов в строку.
- Генератор чисел Фибоначчи
- Метод split() для разделения строк
- Функции высшего порядка в Python
- Работа с timedelta в Python
- Списковое включение в Python
- Запуск Python из интерпретатора
- Тип данных TypeVarTuple
- Работа с массивами в Python
- Работа с набором данных CIFAR10 в PyTorch
- Counter() — подсчет элементов
- Применение функций в Python
- Функция sleep() в Python
- TON Smart Challenge #2: участие и подготовка
- Метод clear для коллекций
- Управление импортом в Python
- Работа с Enum в Python3.
- Работа со словарями в Python
- Возврат нескольких значений
- Работа с многоуровневыми словарями в Python
- Подсказки при вводе данных в Python
- Функции в одну строку
- Метод split() в Python
- Склеивание строк без циклов
- Кортежи в Python: особенности и преимущества
- Извлечение аудио из видео
- Декоратор Ajax required
- Оператор zip в Python















