Курс 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. Создание списков в Python
  3. Декоратор Property в Python
  4. Просмотр внешнего файла в Python
  5. Python и Монти Пайтон
  6. Сортировка с помощью параметра key
  7. Многопоточность и асинхронное программирование в Python
  8. Метод сравнения объектов в Python
  9. Ускорение кода с помощью векторизации
  10. Удаление знаков препинания в Python
  11. Экспорт данных в файл.
  12. Генераторы в Python
  13. Заказ карты Тинькофф Black
  14. Работа со стеком в Python
  15. Анонимные функции в Python
  16. Ускорение обработки данных с %autoawait
  17. Логирование с Logzero
  18. Разделение строки с помощью re.split()
  19. Списковое включение в Python
  20. JSON-esque в Python
  21. Переопределение метода sub
  22. Обрезка изображения с Pillow
  23. Безопасные SQL-запросы в Python 3.11
  24. Enum в Python
  25. Работа с итераторами в Python
  26. Многострочные строки в Python
  27. Оператор @ для умножения матриц
  28. Преобразование символов в нижний регистр
  29. Проверка на палиндром
  30. Философия Python
  31. Работа с Event() в threading
  32. Операции с числами в Python
  33. Передача аргументов в Python
  34. Функция divmod() в Python
  35. Комплексные числа в Python
  36. Получение списка файлов в директории с использованием os
  37. Печать комбинаций в Python с Itertools
  38. Улучшенные подсказки для импорта в Python 3.12
  39. ROT13 Шифр Цезаря в Python
  40. Новшества Flask 2.0
  41. Основы работы со списками
  42. Метод __irshift__ для побитового сдвига вправо
  43. Создание функций с произвольным количеством аргументов

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