Курс 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. Работа с f-строками 2.0
  2. Официальный канал Python в Telegram
  3. Списки в Python
  4. Область видимости переменных
  5. Многопоточность и асинхронное программирование в Python
  6. Проверка подстроки в строке с помощью in
  7. Метод is_absolute() для PurePath
  8. Капитализация строк
  9. Установка Home Assistant
  10. Работа с срезами в Python
  11. Функции с дополнением
  12. Метод __int__ в Python
  13. Атрибуты класса и экземпляра
  14. Утечки переменных цикла в Python 3.x
  15. Метод сравнения объектов в Python
  16. Переворот последовательности
  17. Сортировка и разворот списка
  18. Определение основы слова с showballstemmer
  19. Сглаживание списка
  20. Генерация случайных чисел в Python
  21. Установка Python3.7 и PIP
  22. Сложение матриц в NumPy
  23. Профилирование кода
  24. Оператор in в Python
  25. Управление контекстом выполнения
  26. Модуль antigravity: генерация координат
  27. Установка и использование Python-dateutil
  28. Метод setitem в Python
  29. Метод bool() в Python
  30. Установка виртуального окружения Python
  31. Необязательные аргументы в Python
  32. Комментарии в Python
  33. Методы HTTP запросов в Flask
  34. Flask — веб-фреймворк Python
  35. Сортировка с параметром key
  36. Преобразование данных в Python
  37. Python Enumerate
  38. Генератор списка в Python
  39. Объединение словарей в Python
  40. Работа с множествами в Python
  41. Итерации в Python
  42. Упрощение работы с JSON-данными в Python
  43. Получение частей дроби
  44. Модуль itertools: эффективная работа с итераторами
  45. Удаление дубликатов из списка

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