Курс 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
- Использование подчеркивания в REPL
- Методы и функции в Python
- Распаковка с оператором *
- Оптимизация памяти с slots
- Метод add для класса Vector
- Переопределение метода xor в Python
- Поиск простых чисел
- Пересечение списков с использованием множеств
- Поиск частого элемента
- Метод rpow в Python
- Создание множества в Python
- Создание словаря и множества
- Анализ кода — Python
- Удаление файлов с shutil.os.remove()
- Избегайте использования goto
- Отрицательные индексы списков в Python
- Проверка дубликатов в Python
- Конкатенация списков в Python
- Область видимости переменных
- Округление в Python
- Генераторы в Python
- Базовые объекты Python
- Поиск анаграмм с Counter
- Объединение итераторов
- Удаление falsy-значений из списка с помощью filter
- Транспонирование 2D-массива с помощью zip
- TypedDict для kwargs в Python 3.12
- Удаление и повторная вставка ключа в OrderedDict
- Оператор морж в Python 3.8
- Работа с типами данных в Python с помощью pydantic.
- Изменение списка срезами
- Применение функции к списку
- Руководство по библиотеке pydantic
- Переворот строки
- Модуль inspect: получение информации о объектах
- Функция print() — вывод информации
- Работа со словарями Python
- Автоматизация действий с Pyautogui















