Курс 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"

  1. Явный импорт в Python
  2. Применение промокода в Много лосося
  3. Расчет времени выполнения
  4. Логирование в Python
  5. Работа с асинхронными задачами в Python
  6. Пространство имен в Python
  7. Сортировка элементов в Python
  8. Python Аргументы по умолчанию
  9. Списковое включение в Python
  10. Парсинг веб-страниц с Beautiful Soup
  11. Возврат нескольких значений
  12. Исправление ошибки NameError
  13. Получение текущего времени в Python
  14. Методы обработки строк в Python
  15. Функция divmod() в Python
  16. Измерение времени выполнения кода
  17. Глобальные переменные в Python
  18. Обработка исключений с блоком else
  19. Именованные аргументы в Python
  20. Модуль xkcd: загрузка комиксов
  21. Подсчет элементов с помощью Counter
  22. Работа с пользовательским вводом
  23. Генераторы в Python
  24. Работа с атрибутом dict
  25. Ветвление выражения в Python
  26. Добавление элемента в список.
  27. Метод enumerate() в Python
  28. Динамическая типизация в Python
  29. Списковое включение в Python
  30. Модуль antigravity: генерация координат
  31. Декораторы в Python
  32. Мониторинг памяти с Pympler
  33. Методы Python для работы с данными
  34. Разность множеств
  35. Проверка однородности элементов списка
  36. Объединение словарей в Python
  37. Наиболее частотные элементы с помощью Counter
  38. Именованные срезы в Python
  39. Работа с итераторами через срезы
  40. Метод get для словарей
  41. Комментарии в Python
  42. Экранирование символов в Python
  43. Анализ текста на русском языке с помощью Pymystem3
  44. Python Ellipsis использование
  45. Преобразование текста в речь с Python
  46. Класс-оболочка для словарей
  47. Работа с процессами в Python

Marketello читают маркетологи из крутых компаний