Курс 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
- Ключевое слово global в Python
- Избегайте изменяемых аргументов
- Хешируемые ключи в Python
- Методы list в Python
- Разделение строки с помощью re.split()
- Область видимости переменных
- Парсинг веб-страниц с Beautiful Soup
- Получение текущей директории
- Итераторы с потерямиZIP
- Уникальность ключей в словаре
- Метод join() для объединения элементов
- Создание словарей в Python
- Частичное совпадение ввода
- Метод сравнения объектов в Python
- Добавление элемента к кортежу
- Кортеж в Python: создание и использование
- Создание списков в Python
- Стать Python-разработчиком
- Генераторы по генератору
- Сумма элементов списка
- Итерация по итерируемым объектам
- Присвоение значений переменным в Python
- Работа с zip()
- Тестирование времени с Freezegun
- Поиск индексов подстроки
- Модуль sys: основы
- Работа с классами данных
- Обработка ошибок в Python
- Блок try-except-else
- Обработка исключений в Python
- Применение функции map() с лямбда-функциями
- Преобразование регистра строк
- Оператор «not» в Python
- Документация функции help() в Python
- Работа с файлами в Python
- Импорт в Python: список all
- Команда %dhist — список посещенных каталогов
- Подсчет количества элементов в списке
- Именование столбцов в Python с pandas
- Функция all() в Python
- Форматирование данных с помощью pprint
- Установка и использование Logzero
- Работа с библиотекой xkcd















