Курс 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. Метод __ixor__ для побитового исключающего ИЛИ
  2. Метод pop() списка
  3. JMESPath в Python
  4. JSON в Python: модуль, dump, dumps, load
  5. Мощь вложенных функций в Python
  6. Добавление Progressbar в Python
  7. Создание и операции с дробями
  8. Проверка на истинность объектов в Python
  9. Метод __index__ в Python
  10. Оператор assert в Python
  11. Поиск частого элемента
  12. Пространство имен в Python
  13. Работа с getopt
  14. Декораторы в Python
  15. Модуль future Python
  16. Обход элементов в Python
  17. Работа с географическими данными.
  18. Декораторы для регистрации функций
  19. Метод rsub в Python: расширение функциональности вычитания
  20. Использование defaultdict в Python
  21. Получение списка файлов в директории с использованием os
  22. Поиск наиболее частого элемента
  23. Удаление дубликатов из списка с помощью dict.fromkeys
  24. Метод __int__ в Python
  25. Поток данных в Python
  26. Использование обратной косой черты в f-строках
  27. Работа с множествами в Python
  28. Работа с очередями в Python
  29. Извлечение статей с newspaper3k
  30. Извлечение новостей с newspaper3k
  31. Проблемы с dict в Python
  32. Оператор обр. импликации
  33. Получение списка кортежей из словаря
  34. Форматирование строк в Python
  35. Отправка POST-запроса в REST API
  36. Импорт модуля из другого каталога
  37. Блок else в Python
  38. Передача неизвестных аргументов в Python.
  39. Нахождение разницы между списками в Python
  40. Декораторы в Python
  41. Работа с модулем random
  42. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  43. Библиотека wikipedia для Python
  44. Управление IP-адресами через прокси
  45. Фильтрация элементов с помощью islice
  46. Удаление falsy-значений из списка с помощью filter

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