Курс 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 в Telegram
  2. Форматирование данных с помощью pprint
  3. Конкатенация строковых литералов
  4. Работа со строками в Python
  5. Карта бомбоубежищ в Москве и Питере
  6. Разделение списка на гнппы
  7. Работа с областями видимости переменных
  8. Beautiful Soup — извлечение данных из HTML
  9. Управление пакетами с pip
  10. Lambda-функция в Python: использование с map() и sum()
  11. Объединение словарей в Python
  12. Область видимости переменных
  13. Функция print() — вывод информации
  14. Модуль os в Python: работа с файлами
  15. Ускоренный импорт библиотек
  16. Декораторы в Python
  17. Метод enumerate() в Python
  18. Команда %dhist — список посещенных каталогов
  19. Работа с Path в Python
  20. Запуск внешних программ с subprocess
  21. Получение локальных переменных в Python
  22. Перемешивание списка с shuffle()
  23. Нан-рефлексивность в Python
  24. Метод __index__ в Python
  25. Делегирование в Python
  26. Символ подчеркивания в Python
  27. Скачать видео с YouTube
  28. Работа с timedelta
  29. Возвращение нескольких значений
  30. Python Метод del.
  31. Освоение Python
  32. Разделение строк методом split()
  33. Функция zip() в Python
  34. Определение локальных переменных в Python
  35. Оператор «or» в Python
  36. Оператор in в Python
  37. Форматирование чисел в Python
  38. Форматирование строк в Python
  39. Инверсия списка и строки в Python
  40. Оператор объединения словарей
  41. PEP-401: оператор
  42. Хранение данных с помощью dataclasses
  43. Тестирование времени с Freezegun
  44. Участие в LP стейкинге Waves
  45. Очистка данных с Pandas
  46. Работа с комбинациями в Python.
  47. Работа с файлами и директориями в Python.
  48. Установка и загрузка Instaloader

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