Курс 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. Управление браузером с Selenium
  2. Экспорт внешнего файла с помощью writefile
  3. Объединение списков в Python
  4. Порядок и длина множеств в Python
  5. Обмен данными с asyncio.Queue
  6. Метод join для объединения строк
  7. Pillow: работа с изображениями
  8. Метод rxor для операции побитового исключающего «или»
  9. Особенности ключей словаря в Python
  10. Передача аргументов в Python
  11. Логирование с Loguru
  12. Оператор break в Python
  13. Подсчет частоты элементов с Counter
  14. Работа с дробями в Python
  15. Атрибуты объекта в Python
  16. Основные операции с Numpy
  17. Перевод двоичного кода в целое число
  18. Методы classmethod и staticmethod
  19. Получение списка кортежей из словаря
  20. Работа с комбинациями в Python.
  21. Виртуальное окружение Python
  22. Красивый вывод списка
  23. Работа с файлами в Python
  24. Распаковка с оператором *
  25. Перегрузка операторов в Python
  26. Оператор match в Python
  27. Генераторы в Python
  28. Работа со строками в Python
  29. Приоритет операций в Python
  30. Генераторы в Python
  31. Повторение элементов в Python
  32. Метод __imod__ для Python
  33. Равенство и идентичность в Python
  34. Поиск простых чисел
  35. Оптимизация гиперпараметров с Scikit Optimize
  36. Конвертация текстовых чисел с помощью Numerizer
  37. Установка Home Assistant
  38. Компиляция регулярных выражений
  39. Поиск частых элементов в списке
  40. Получение ID текущего процесса
  41. Очистка данных с Pandas
  42. Непрерывная проверка в Python
  43. Функция all() в Python
  44. Метод setitem в Python

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