Курс 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. Обновление и получение данных в SQLite
  3. Установка пакета в Python
  4. Импорт модулей в Python 3.12
  5. Работа с комплексными числами
  6. Оптимизация памяти с помощью __slots__
  7. Генерация случайных чисел в Python
  8. Частичное применение функций в Python
  9. Списки в Python: основы
  10. Решатель судоку на Python с pygame
  11. Функция sleep() в Python
  12. Пространство имен в Python
  13. Отправка POST-запроса в REST API
  14. Решение переменной Шредингера
  15. Сериализация и десериализация объектов
  16. Enum в Python: создание и использование перечислений
  17. Асинхронное выполнение задач в Python
  18. Определение имен функций
  19. Функция zip() в Python
  20. Обработка исключений в Python
  21. Использование type hints
  22. Поиск элементов BeautifulSoup
  23. Работа с collections в Python
  24. Создание лямбда-функций
  25. Секреты Python
  26. Логические значения в Python
  27. Работа с итераторами в Python
  28. Замена символов в Python
  29. Многопоточность и асинхронное программирование в Python
  30. Проверка кортежей.
  31. Работа со временем в Python
  32. Перевод текста с Python Translator
  33. Объединение, распаковка и деструктуризация
  34. Комментарии в Python
  35. Работа с deque в Python
  36. Использование функции enumerate()
  37. Регистрация на TenChat
  38. Работа с базами данных SQLite
  39. Поиск шаблона в строке
  40. Создание словаря с значением по умолчанию
  41. Функции с дополнением
  42. Работа с изменяемыми коллекциями
  43. Установка и использование Virtualenv
  44. Список импортированных модулей в Python
  45. Изменение элемента списка
  46. Инверсия списков и строк в Python
  47. Метод gt в Python
  48. Оптимизация памяти с slots

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