Курс 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. Оператор in и not in в Python
  2. Форматирование строк в Python
  3. Оптимизация гиперпараметров в Python
  4. Проблемы с dict в Python
  5. UserString в Python
  6. Особенности множеств в Python
  7. Метод ipow для возведения в степень
  8. Метод index() в Python
  9. Асинхронное программирование с asyncio
  10. Установка Python3.7 и PIP
  11. Создание и обучение модели с Keras
  12. Хранение данных
  13. Разбиение текста в Python
  14. Применение функции map() с лямбда-функциями
  15. Нарезка списков в Python
  16. Декораторы в Python
  17. Манипуляция формой массива в Numpy
  18. Определение объема памяти объекта
  19. Использование эмодзи в Python
  20. Сложные типы данных в Python
  21. Заказ карты Тинькофф Black
  22. Удаление ключей из словаря
  23. Работа с IP-адресами в Python
  24. Проверка окончания строки с помощью str.endswith()
  25. Округление в Python
  26. Определение размера папок в Python
  27. Объединение словарей в Python
  28. Создание и операции с дробями
  29. Метод ifloordiv для пользовательских классов
  30. Установка пакета в Python
  31. Блок else в циклах Python
  32. Метод Event.wait() в Python
  33. Описание скриптов в README
  34. Преобразование текста в речь с Python
  35. Оператор распаковки в Python
  36. Преобразование многоуровневого словаря
  37. Работа с изменяемыми списками
  38. История Python
  39. PEP-401: оператор
  40. Наследование в программировании
  41. Функции с необязательными аргументами
  42. Курс Data Scientist в медицине
  43. Нахождение разницы между списками в Python
  44. Фильтрация последовательности
  45. Управление мышью и клавиатурой с Pyautogui
  46. Атрибуты класса и экземпляра
  47. Декоратор Ajax required
  48. Участие в сообществе @selectel

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