Курс Python → Взаимодействие с внешними процессами в Python

Библиотека subprocess в Python предоставляет возможность запускать внешние процессы, взаимодействовать с ними и получать результаты выполнения команд. Одним из методов этой библиотеки является check_output, который выполняет команду и возвращает ее вывод. Этот метод можно использовать, например, для получения списка wi-fi сетей, как в примере ниже:

import subprocess

output = subprocess.check_output(['netsh', 'wlan', 'show', 'network'])
print(output.decode('cp866'))

Если необходимо остановить или принудительно завершить процесс, можно воспользоваться методами terminate() и kill() класса Popen. Например, для остановки процесса можно использовать следующий код:

import subprocess
import time

process = subprocess.Popen(['notepad.exe'])
time.sleep(5)  # ждем 5 секунд
process.terminate()

Библиотека subprocess позволяет выполнять множество полезных действий, которые не доступны при использовании других способов взаимодействия с внешними процессами. Например, можно передавать внешним программам аргументы, управлять вводом и выводом данных, а также обрабатывать ошибки и исключения.

Использование библиотеки subprocess требует осторожности, так как неправильное выполнение команд может привести к нежелательным результатам. Рекомендуется изучить документацию по данной библиотеке и проводить тестирование перед использованием в реальных проектах.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с кортежами в Python
  2. Лямбда-функции для min/max
  3. Асинхронное выполнение задач в Python
  4. Создание именованных кортежей в Python
  5. Основные операции с библиотекой Numpy
  6. Метод get() в Python
  7. Добавление элементов в список
  8. Работа с комплексными числами в Python
  9. Аннотации типов в Python
  10. Декоратор проверки активности
  11. Контроль точности вывода чисел
  12. Оператор in для проверки наличия элемента
  13. Python: динамическая типизация и проверка типов
  14. Форматирование строк в Python.
  15. Преобразование генераторов в циклы
  16. Сортировка в Python
  17. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  18. Регулярные выражения в Python
  19. Статическая типизация в Python
  20. Сложные типы данных в Python
  21. Отправка POST-запроса в REST API
  22. Изменяемые и неизменяемые объекты
  23. Блок else в циклах.
  24. Преобразование строки в число
  25. Метод setitem в Python
  26. Метод matmul для умножения матриц
  27. Работа с *args и **kwargs в Python
  28. Оператор объединения словарей
  29. Подсказки типов в Python
  30. Инициализация переменных
  31. Concrete Paths — метод .with_suffix()
  32. Оператор «моржа» (Walrus Operator)
  33. f-строки в формате строк
  34. Уникальность ключей в словаре
  35. Метод ne для сравнения объектов
  36. Проверка списка: any() и all()
  37. Создание словарей и множеств в Python
  38. Основные операции с Numpy
  39. Удаление символа из строки
  40. Итерации в Python
  41. Модуль pprint: улучшение вывода данных
  42. Импорт и использование модулей в Python
  43. Библиотека funcy: удобные утилиты
  44. Описание скриптов в README
  45. Получение пути к текущему скрипту с помощью os
  46. Отладчик pdb: начало работы
  47. Переворот строки с использованием цикла

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