Курс 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"
- Тест скорости набора текста на Python
- Объединение словарей в Python
- Импорт с альтернативным именем
- Оптимизация памяти с __slots__
- Многопроцессорное программирование в Python
- Разделение строки с помощью re.split()
- ChainMap избыточные ключи
- Комментарии в Python
- Объединение словарей в Python
- Создание обратного итератора
- Работа с контекстными переменными
- Вложенные генераторы в Python
- Форматирование вывода с F-строками
- Работа с NumPy массивами
- Python и Юникод: работа с цифрами
- Переопределение метода
- Обработка StopIteration в Python
- Работа с утверждениями в Python
- Область видимости переменных
- Просмотр файла в Jupyter Noteboo
- Обработка исключений в Python
- Метод splitlines() для разделения строк
- Логирование с Logzero
- Создание файла с проверкой ошибки
- Возврат нескольких значений
- Эффективная конкатенация строк с использованием join()
- Работа с географическими данными.
- Множественное присваивание в Python
- Метод ifloordiv для пользовательских классов
- Модуль itertools: эффективная работа с итераторами
- Метод rsub для пользовательских чисел
- Параллельные вычисления в Python
- Лямбда-функции в цикле
- Абстракции словарей и множеств в Python
- Создание уникального множества
- Создание словарей в Python
- Получение списка кортежей из словаря
- Импорт модулей в Python 3.12
- Модуль inspect
- Переменные класса и экземпляра
- Работа с YAML в Python
- Список методов и атрибутов
- Генераторы в Python















