Курс 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. Установка и использование pyshorteners
  2. Функции в Python
  3. Метод __irshift__ для побитового сдвига вправо
  4. Разделение строк в Python
  5. Освоение Python
  6. Хеши в Python
  7. Особенности запятых в Python
  8. Атрибуты класса и экземпляра в Python
  9. Работа со строками в Python
  10. Создание OrderedDict
  11. Поиск простых чисел
  12. Множественное наследование в Python
  13. Методы сравнения множеств
  14. Поиск уникальных и повторяющихся элементов
  15. Логирование в Python
  16. Метод hash в Python
  17. Метод count() для списка
  18. Определение индекса элемента списка
  19. Управление асинхронными задачами с помощью Semaphore
  20. Python defaultdict добавление ключа
  21. Разделение функций на этапы
  22. Работа с изменяемыми коллекциями
  23. Работа с географическими данными в Python
  24. Определение функций с необязательными аргументами
  25. Создание виртуальной среды
  26. Работа с collections.Counter
  27. Разбиение текста в Python
  28. Установка и использование pyshorteners
  29. Работа с геоданными с помощью geopy
  30. Принципы Zen Python
  31. Множественное назначение в Python
  32. Ветвление выражения в Python
  33. Форматирование строк в Python
  34. Загрузка постов Instagram
  35. Генераторные функции в Python
  36. Представление бесконечности в Python
  37. Секреты Python
  38. Работа с итераторами через срезы
  39. Распаковка аргументов в Python
  40. Расширение информации об ошибке в Python
  41. Удаление пробелов методом translate()
  42. Реверс строки и списка в Python.
  43. Хэш-функции и метод цепочек
  44. Управление сессиями в Python
  45. Любовь к Python
  46. Поиск наиболее частого элемента списке
  47. Замыкания в Python

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