Курс 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
- Обновление и получение данных в SQLite
- Установка пакета в Python
- Импорт модулей в Python 3.12
- Работа с комплексными числами
- Оптимизация памяти с помощью __slots__
- Генерация случайных чисел в Python
- Частичное применение функций в Python
- Списки в Python: основы
- Решатель судоку на Python с pygame
- Функция sleep() в Python
- Пространство имен в Python
- Отправка POST-запроса в REST API
- Решение переменной Шредингера
- Сериализация и десериализация объектов
- Enum в Python: создание и использование перечислений
- Асинхронное выполнение задач в Python
- Определение имен функций
- Функция zip() в Python
- Обработка исключений в Python
- Использование type hints
- Поиск элементов BeautifulSoup
- Работа с collections в Python
- Создание лямбда-функций
- Секреты Python
- Логические значения в Python
- Работа с итераторами в Python
- Замена символов в Python
- Многопоточность и асинхронное программирование в Python
- Проверка кортежей.
- Работа со временем в Python
- Перевод текста с Python Translator
- Объединение, распаковка и деструктуризация
- Комментарии в Python
- Работа с deque в Python
- Использование функции enumerate()
- Регистрация на TenChat
- Работа с базами данных SQLite
- Поиск шаблона в строке
- Создание словаря с значением по умолчанию
- Функции с дополнением
- Работа с изменяемыми коллекциями
- Установка и использование Virtualenv
- Список импортированных модулей в Python
- Изменение элемента списка
- Инверсия списков и строк в Python
- Метод gt в Python
- Оптимизация памяти с slots















