Курс 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
- Лямбда-функции для min/max
- Асинхронное выполнение задач в Python
- Создание именованных кортежей в Python
- Основные операции с библиотекой Numpy
- Метод get() в Python
- Добавление элементов в список
- Работа с комплексными числами в Python
- Аннотации типов в Python
- Декоратор проверки активности
- Контроль точности вывода чисел
- Оператор in для проверки наличия элемента
- Python: динамическая типизация и проверка типов
- Форматирование строк в Python.
- Преобразование генераторов в циклы
- Сортировка в Python
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Регулярные выражения в Python
- Статическая типизация в Python
- Сложные типы данных в Python
- Отправка POST-запроса в REST API
- Изменяемые и неизменяемые объекты
- Блок else в циклах.
- Преобразование строки в число
- Метод setitem в Python
- Метод matmul для умножения матриц
- Работа с *args и **kwargs в Python
- Оператор объединения словарей
- Подсказки типов в Python
- Инициализация переменных
- Concrete Paths — метод .with_suffix()
- Оператор «моржа» (Walrus Operator)
- f-строки в формате строк
- Уникальность ключей в словаре
- Метод ne для сравнения объектов
- Проверка списка: any() и all()
- Создание словарей и множеств в Python
- Основные операции с Numpy
- Удаление символа из строки
- Итерации в Python
- Модуль pprint: улучшение вывода данных
- Импорт и использование модулей в Python
- Библиотека funcy: удобные утилиты
- Описание скриптов в README
- Получение пути к текущему скрипту с помощью os
- Отладчик pdb: начало работы
- Переворот строки с использованием цикла















