Курс 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. Объединение словарей в Python
  3. Импорт с альтернативным именем
  4. Оптимизация памяти с __slots__
  5. Многопроцессорное программирование в Python
  6. Разделение строки с помощью re.split()
  7. ChainMap избыточные ключи
  8. Комментарии в Python
  9. Объединение словарей в Python
  10. Создание обратного итератора
  11. Работа с контекстными переменными
  12. Вложенные генераторы в Python
  13. Форматирование вывода с F-строками
  14. Работа с NumPy массивами
  15. Python и Юникод: работа с цифрами
  16. Переопределение метода
  17. Обработка StopIteration в Python
  18. Работа с утверждениями в Python
  19. Область видимости переменных
  20. Просмотр файла в Jupyter Noteboo
  21. Обработка исключений в Python
  22. Метод splitlines() для разделения строк
  23. Логирование с Logzero
  24. Создание файла с проверкой ошибки
  25. Возврат нескольких значений
  26. Эффективная конкатенация строк с использованием join()
  27. Работа с географическими данными.
  28. Множественное присваивание в Python
  29. Метод ifloordiv для пользовательских классов
  30. Модуль itertools: эффективная работа с итераторами
  31. Метод rsub для пользовательских чисел
  32. Параллельные вычисления в Python
  33. Лямбда-функции в цикле
  34. Абстракции словарей и множеств в Python
  35. Создание уникального множества
  36. Создание словарей в Python
  37. Получение списка кортежей из словаря
  38. Импорт модулей в Python 3.12
  39. Модуль inspect
  40. Переменные класса и экземпляра
  41. Работа с YAML в Python
  42. Список методов и атрибутов
  43. Генераторы в Python

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