Курс 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"
- Метод title() в Python
- Создание именованных кортежей в Python
- Оператор Walrus: правильное использование
- Python Аргументы по умолчанию
- discard() — удаление элемента из множества
- Возврат значений из генератора
- Метод classmethod
- Методы split() и join() — Python строк.
- Оператор in для проверки наличия элемента
- Разделение строки на пары ключ-значение.
- Оптимизация сравнения в Python
- Изменение списка срезом
- Фильтрация последовательности
- Печать списка с помощью метода join
- Декоратор для группы пользователей в Django
- 9 уловок для чистого кода
- Проблемы с именами переменных
- Работа с комплексными числами
- Python reversed() функция
- Функция enumerate() в Python
- Генераторы словарей и множеств
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Добавление элемента к кортежу
- Методы работы со строками в Python
- Сравнение строк в Python
- Получение текущего времени в Python
- Генераторы списков
- Преобразование Word в PDF с Spire.Doc
- Преобразование списка в словарь через генератор
- Работа с путями в Python
- Бесконечная проверка в Python
- Получение ID процесса
- Активация Matplotlib в Jupyter
- Передача словаря через **kwargs
- Пространство имен в Python
- Расчет времени выполнения программы
- Деление в Python
- Работа с контекстным менеджером Pool
- Экспорт внешнего файла с помощью writefile
- Логирование с Logzero
- Использование super() в Python
- Работа с парами ключ-значение
- Работа с Requests для HTTP-запросов
- Метод __ixor__ для побитового исключающего ИЛИ
- Работа с базами данных SQLite















