Курс 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. Вызов внешних программ в Python с помощью sh
  4. Модуль future Python
  5. Python: отсутствие точек с запятыми
  6. Профилирование данных с Pandas
  7. Улучшение читаемости кода в Python
  8. Разделение строки на подстроки в Python
  9. Работа с итераторами в Python
  10. Логические значения в Python
  11. Проверка кортежей.
  12. Печать месячного календаря
  13. Получение текущей даты и времени с помощью datetime
  14. Отслеживание прогресса с tqdm
  15. Повторение и перенос строки
  16. Добавление кнопки в tkinter
  17. Оператор объединения словарей
  18. Измерение времени выполнения кода
  19. Декораторы в Python
  20. Блок else в обработке исключений
  21. Использование функции product
  22. Установка и использование модуля Wikipedia
  23. Структура строк в Python
  24. Работа с множествами в Python
  25. Управление виртуальными средами в Python
  26. Параллельные вычисления в Python
  27. Модуль math: константы π и e
  28. Декораторы для регистрации функций
  29. Руководство по использованию Colorama
  30. Combobox в Tkinter
  31. Удаление дубликатов из списка
  32. Проверка ввода с помощью isdigit
  33. Тип CodeType в Python.
  34. Расширение операции побитового «и» в Python
  35. Область видимости переменных
  36. Реализация метода __abs__ в Python
  37. Преобразование чисел в слова
  38. Получение комбинаций в Python
  39. Любовь к Python
  40. Подписка на SelectelNews в Twitter
  41. Лямбда-функции в Python
  42. Работа с временем в Python
  43. Создание треугольника Паскаля
  44. Создание namedtuple списком полей
  45. Метод join() для объединения элементов строки
  46. Установка и загрузка Instaloader
  47. Оценка выражений генератора в Python
  48. Генератор бросков кубиков
  49. Создание даты из строки ISO

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