Курс 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. Использование подчеркивания в REPL
  3. Методы и функции в Python
  4. Распаковка с оператором *
  5. Оптимизация памяти с slots
  6. Метод add для класса Vector
  7. Переопределение метода xor в Python
  8. Поиск простых чисел
  9. Пересечение списков с использованием множеств
  10. Поиск частого элемента
  11. Метод rpow в Python
  12. Создание множества в Python
  13. Создание словаря и множества
  14. Анализ кода — Python
  15. Удаление файлов с shutil.os.remove()
  16. Избегайте использования goto
  17. Отрицательные индексы списков в Python
  18. Проверка дубликатов в Python
  19. Конкатенация списков в Python
  20. Область видимости переменных
  21. Округление в Python
  22. Генераторы в Python
  23. Базовые объекты Python
  24. Поиск анаграмм с Counter
  25. Объединение итераторов
  26. Удаление falsy-значений из списка с помощью filter
  27. Транспонирование 2D-массива с помощью zip
  28. TypedDict для kwargs в Python 3.12
  29. Удаление и повторная вставка ключа в OrderedDict
  30. Оператор морж в Python 3.8
  31. Работа с типами данных в Python с помощью pydantic.
  32. Изменение списка срезами
  33. Применение функции к списку
  34. Руководство по библиотеке pydantic
  35. Переворот строки
  36. Модуль inspect: получение информации о объектах
  37. Функция print() — вывод информации
  38. Работа со словарями Python
  39. Автоматизация действий с Pyautogui

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