Курс 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. Добавление цвета в консоли
  2. Обработка ошибок в Python
  3. Ключевое слово global в Python
  4. Избегайте изменяемых аргументов
  5. Хешируемые ключи в Python
  6. Методы list в Python
  7. Разделение строки с помощью re.split()
  8. Область видимости переменных
  9. Парсинг веб-страниц с Beautiful Soup
  10. Получение текущей директории
  11. Итераторы с потерямиZIP
  12. Уникальность ключей в словаре
  13. Метод join() для объединения элементов
  14. Создание словарей в Python
  15. Частичное совпадение ввода
  16. Метод сравнения объектов в Python
  17. Добавление элемента к кортежу
  18. Кортеж в Python: создание и использование
  19. Создание списков в Python
  20. Стать Python-разработчиком
  21. Генераторы по генератору
  22. Сумма элементов списка
  23. Итерация по итерируемым объектам
  24. Присвоение значений переменным в Python
  25. Работа с zip()
  26. Тестирование времени с Freezegun
  27. Поиск индексов подстроки
  28. Модуль sys: основы
  29. Работа с классами данных
  30. Обработка ошибок в Python
  31. Блок try-except-else
  32. Обработка исключений в Python
  33. Применение функции map() с лямбда-функциями
  34. Преобразование регистра строк
  35. Оператор «not» в Python
  36. Документация функции help() в Python
  37. Работа с файлами в Python
  38. Импорт в Python: список all
  39. Команда %dhist — список посещенных каталогов
  40. Подсчет количества элементов в списке
  41. Именование столбцов в Python с pandas
  42. Функция all() в Python
  43. Форматирование данных с помощью pprint
  44. Установка и использование Logzero
  45. Работа с библиотекой xkcd

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