Курс 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. ChainMap.new_child() — добавление нового словаря
  3. Изменение IP-адреса в Python
  4. Расширение информации об ошибке в Python
  5. Оператор space-invader
  6. Python Calendar Usage
  7. Python Метод Union Множеств
  8. Обновление множества в Python
  9. Блок try…finally в Python
  10. Экспорт функций в Python
  11. Измерение времени выполнения кода
  12. Объединение кортежей в Python
  13. Работа с изменяемыми коллекциями
  14. Рекурсия для обращения строки
  15. Транспонирование 2D-массива с помощью zip
  16. Класс Counter() для подсчета элементов
  17. Метод splitlines() для разделения строк
  18. Разделение строки на подстроки в Python
  19. Замыкания в Python
  20. Модуль xkcd: добавление юмора в Python
  21. Генераторы в Python
  22. Работа с процессами в Python
  23. Метод join() для объединения строк
  24. Карта бомбоубежищ в Москве и Питере
  25. Добавление кнопки в tkinter
  26. Контекстный менеджер в Python
  27. Обновление данных через PUT запрос
  28. Декораторы в Python
  29. Установка Git и AWS CLI
  30. Улучшенные подсказки для импорта в Python 3.12
  31. Метод сравнения объектов в Python
  32. Измерение времени выполнения кода с использованием time
  33. Вывод баннеров
  34. Работа с комплексными числами
  35. Печать календаря в Python
  36. Получение атрибутов и методов класса
  37. Синхронизация доступа к ресурсам
  38. Функция pow() — возвести число в степень
  39. Преобразование вложенного списка
  40. Метод ior для битовых операций
  41. Переворот строки с использованием цикла
  42. Переопределение метода xor в Python
  43. Библиотека schedule: планировщик задач
  44. Логические значения в Python
  45. Удаление дубликатов с помощью множеств
  46. Запрос DELETE с библиотекой requests
  47. Избегайте изменяемых аргументов
  48. Определение локальных переменных в Python

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