Курс 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
- CLI-инструмент howdoi
- Работа с очередями в Python
- Переопределение метода __rshift__
- Работа с YAML в Python
- Лямбда-функции в Python
- Функции с необязательными аргументами
- Область видимости переменных
- Ускоренный импорт библиотек
- Курсы Яндекс Практикум
- Особенности множеств в Python
- Метод __int__ в Python
- Создание пар из последовательностей
- Получение имени функции с помощью inspect
- Управление виртуальными средами в Python
- Активация Matplotlib в Jupyter
- Показ всплывающих окон Tkinter
- Документация функции help() в Python
- Удаление файлов с shutil.os.remove()
- Метод get для словаря
- Форматирование строк в Python
- Операции с комплексными числами
- Рациональные числа в Python
- Оптимизация методов в Python 3.7
- Функция enumerate() в Python
- Объединение, распаковка и деструктуризация
- Создание и использование модулей в Python
- Делегирование в Python
- Импортирование в Python
- Импорт объектов из модулей
- Фильтрация списка от «ложных» значений
- JMESPath в Python
- Обрезка изображения с Pillow
- Оценка выражений генератора в Python
- Использование функции product
- Циклы for в Python
- Установка виртуального окружения Python
- Обмен переменными в Jupyter
- Выражения-генераторы в Python
- Управление мышью и клавиатурой с Pyautogui
- Избегание циклических зависимостей классов в Python
- Метод setitem в Python
- Создание словарей с defaultdict()
- Поиск самого частого элемента















