Курс 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. Поиск наиболее частого элемента списке
  2. Создание именованных кортежей в Python
  3. Регулярные выражения в Python
  4. Управление User-Agent в Python
  5. Получение ID процесса
  6. Dict Comprehension в Python
  7. Управление экспортом элементов
  8. Объединение словарей в Python 3.5+
  9. Атрибуты объекта в Python
  10. Подсчет вхождений элементов
  11. Проверка списка: any() и all()
  12. Функции map, filter и reduce
  13. Капитализация строк
  14. Разделение строк в Python
  15. Оператор continue в Python
  16. Генерация QR-кодов с библиотекой qrcode
  17. Удаление символов новой строки в Python.
  18. Метод rpow в Python
  19. Анонимные функции в Python
  20. Встроенные функции Python
  21. Приближение чисел в Python
  22. Декоратор для группы пользователей в Django
  23. Делегирование в Python
  24. Декораторы в Python
  25. Измерение времени выполнения кода в Python
  26. Обработка ошибок в Python
  27. Список переменных в Python
  28. Подсчет элементов с помощью Counter из collections
  29. Solidity для DeFi Ethereum
  30. Парсинг статей с Newspaper3k
  31. Метод get() для словарей
  32. Проверка существования переменной с оператором :=
  33. Многострочные комментарии в Python
  34. Оптимизация памяти с __slots__
  35. Библиотека Rich: форматирование текста
  36. Проверка условий в Python
  37. Удаление дубликатов из списка с помощью dict.fromkeys
  38. Поиск подстроки в строке
  39. Атрибуты класса и экземпляра в Python
  40. Операторы сравнения в Python
  41. Генераторы и сеты в Python
  42. Печать календаря
  43. Анонимные функции в Python
  44. Управление браузером с Selenium
  45. Проверка типа объекта в Python
  46. Порядок операций в Python
  47. Удаление специальных символов

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