Курс 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. Подсказки при вводе данных в Python
  3. Оптимизация гиперпараметров с Scikit Optimize
  4. Срезы в Python
  5. Библиотека Emoji: использование смайлов в Python
  6. Официальный канал Python в Telegram
  7. Отслеживание прогресса с tqdm
  8. Отладка производительности Python
  9. Работа с изображениями PIL
  10. Создание новых списков в Python
  11. Удаление ключа из словаря в Python
  12. Проверка версии Python
  13. Методы HTTP запросов в Flask
  14. Перезагрузка оператора в Python
  15. Вакансии в Nebius
  16. Применение функций в Python
  17. Сортировка элементов с OrderedDict
  18. Выключение компьютера с помощью Python
  19. Проверка окончания строки с помощью str.endswith()
  20. Создание новых списков через list comprehensions
  21. Измерение времени выполнения кода
  22. Подсчет элементов в Python
  23. Проверка индексов коллекции
  24. Возведение в квадрат с помощью itertools
  25. Генераторы в Python
  26. Методы обработки строк в Python
  27. Python и Монти Пайтон
  28. Многострочные строки в Python
  29. Поиск всех индексов подстроки
  30. Работа с itertools
  31. Многострочные комментарии в Python
  32. Обход элементов в Python
  33. Просмотр файла в Jupyter Noteboo
  34. Monkey Patching в Python
  35. Метод join() для объединения элементов
  36. Переопределение метода __and__
  37. Проекты на Python
  38. Импортирование в Python
  39. Метод join для объединения строк
  40. Сохранение Unicode в JSON
  41. Создание тестовых данных с Faker
  42. Замена подстроки
  43. Просмотр атрибутов и методов класса
  44. Автоматизация действий с Pyautogui
  45. Функция eval() в Python
  46. Очистка строки в Python
  47. Оператор is в Python
  48. Переворот списка в Python

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