Курс 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. Мониторинг памяти с Pympler
  2. Частичное совпадение пользовательского ввода в Python 3.10
  3. Удаление символа из строки
  4. Встраивание HTML в Jupyter Notebook
  5. Методы list в Python
  6. Логирование с Loguru
  7. Работа с модулем bisect
  8. Генератор бросков кубиков
  9. Добавление вложенных списков
  10. Сортировка данных с лямбда-функциями
  11. Определение основы слова с showballstemmer
  12. Генератор списка в Python
  13. Перевод текста с Python Translator
  14. Метод join() для объединения элементов в строку.
  15. Генератор чисел Фибоначчи
  16. Метод split() для разделения строк
  17. Функции высшего порядка в Python
  18. Работа с timedelta в Python
  19. Списковое включение в Python
  20. Запуск Python из интерпретатора
  21. Тип данных TypeVarTuple
  22. Работа с массивами в Python
  23. Работа с набором данных CIFAR10 в PyTorch
  24. Counter() — подсчет элементов
  25. Применение функций в Python
  26. Функция sleep() в Python
  27. TON Smart Challenge #2: участие и подготовка
  28. Метод clear для коллекций
  29. Управление импортом в Python
  30. Работа с Enum в Python3.
  31. Работа со словарями в Python
  32. Возврат нескольких значений
  33. Работа с многоуровневыми словарями в Python
  34. Подсказки при вводе данных в Python
  35. Функции в одну строку
  36. Метод split() в Python
  37. Склеивание строк без циклов
  38. Кортежи в Python: особенности и преимущества
  39. Извлечение аудио из видео
  40. Декоратор Ajax required
  41. Оператор zip в Python

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