Курс 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
- Создание списков в Python
- Декоратор Property в Python
- Просмотр внешнего файла в Python
- Python и Монти Пайтон
- Сортировка с помощью параметра key
- Многопоточность и асинхронное программирование в Python
- Метод сравнения объектов в Python
- Ускорение кода с помощью векторизации
- Удаление знаков препинания в Python
- Экспорт данных в файл.
- Генераторы в Python
- Заказ карты Тинькофф Black
- Работа со стеком в Python
- Анонимные функции в Python
- Ускорение обработки данных с %autoawait
- Логирование с Logzero
- Разделение строки с помощью re.split()
- Списковое включение в Python
- JSON-esque в Python
- Переопределение метода sub
- Обрезка изображения с Pillow
- Безопасные SQL-запросы в Python 3.11
- Enum в Python
- Работа с итераторами в Python
- Многострочные строки в Python
- Оператор @ для умножения матриц
- Преобразование символов в нижний регистр
- Проверка на палиндром
- Философия Python
- Работа с Event() в threading
- Операции с числами в Python
- Передача аргументов в Python
- Функция divmod() в Python
- Комплексные числа в Python
- Получение списка файлов в директории с использованием os
- Печать комбинаций в Python с Itertools
- Улучшенные подсказки для импорта в Python 3.12
- ROT13 Шифр Цезаря в Python
- Новшества Flask 2.0
- Основы работы со списками
- Метод __irshift__ для побитового сдвига вправо
- Создание функций с произвольным количеством аргументов















