Курс 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. Введение в PyTorch
  2. Проверка запуска скрипта или импорта модуля
  3. Базовые объекты Python
  4. Функция zip() в Python
  5. Работа с итераторами через срезы
  6. Работа с Requests для HTTP-запросов
  7. Оператор in для Python
  8. Функция count() в Python
  9. Метод ior для битовых операций
  10. Сортировка с параметром key
  11. Метод rsub в Python: расширение функциональности вычитания
  12. Операторы Splat и splatty-splat
  13. Методы Python для работы с данными
  14. Разработка Telegram-ботов
  15. Распаковка аргументов в Python
  16. Строки в Python: апострофы и кавычки
  17. Избегание циклических зависимостей классов в Python
  18. Транспонирование 2D-массива с помощью zip
  19. Генераторы по генератору
  20. Работа с изменяемыми коллекциями
  21. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  22. Ускорение обработки данных с %autoawait
  23. Работа со списками
  24. Функции классификации комплексных чисел
  25. Оптимизация сравнения в Python
  26. Python Translator: создание локальных переводчиков
  27. Логирование с Loguru
  28. Преобразование range в итератор
  29. Удаление falsy-значений из списка с помощью filter
  30. Представление бесконечности в Python
  31. Очистка данных в Python
  32. Прокачанный трейсинг ошибок
  33. Применение команды break
  34. Удаление элементов из списка в Python.
  35. Список и кортеж в Python
  36. Работа с GitHub в Telegram
  37. Форматирование строк в Python
  38. Замыкания в Python
  39. Поиск файлов по шаблону
  40. Изменение списка срезами
  41. Удаление элементов из списка
  42. Повторение элементов в Python
  43. Объединение кортежей в Python
  44. Таймер обратного отсчета
  45. Анонимные функции в Python
  46. Тип данных TypeVarTuple

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