Курс 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. Метод title() в Python
  2. Создание именованных кортежей в Python
  3. Оператор Walrus: правильное использование
  4. Python Аргументы по умолчанию
  5. discard() — удаление элемента из множества
  6. Возврат значений из генератора
  7. Метод classmethod
  8. Методы split() и join() — Python строк.
  9. Оператор in для проверки наличия элемента
  10. Разделение строки на пары ключ-значение.
  11. Оптимизация сравнения в Python
  12. Изменение списка срезом
  13. Фильтрация последовательности
  14. Печать списка с помощью метода join
  15. Декоратор для группы пользователей в Django
  16. 9 уловок для чистого кода
  17. Проблемы с именами переменных
  18. Работа с комплексными числами
  19. Python reversed() функция
  20. Функция enumerate() в Python
  21. Генераторы словарей и множеств
  22. Каналы Senior: Python, Java, Frontend, SQL, C++
  23. Добавление элемента к кортежу
  24. Методы работы со строками в Python
  25. Сравнение строк в Python
  26. Получение текущего времени в Python
  27. Генераторы списков
  28. Преобразование Word в PDF с Spire.Doc
  29. Преобразование списка в словарь через генератор
  30. Работа с путями в Python
  31. Бесконечная проверка в Python
  32. Получение ID процесса
  33. Активация Matplotlib в Jupyter
  34. Передача словаря через **kwargs
  35. Пространство имен в Python
  36. Расчет времени выполнения программы
  37. Деление в Python
  38. Работа с контекстным менеджером Pool
  39. Экспорт внешнего файла с помощью writefile
  40. Логирование с Logzero
  41. Использование super() в Python
  42. Работа с парами ключ-значение
  43. Работа с Requests для HTTP-запросов
  44. Метод __ixor__ для побитового исключающего ИЛИ
  45. Работа с базами данных SQLite

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