Для остановки потока while True
, исползующего цикл бесконечного выполнения, при нажатии горячих клавиш в Python можно воспользоваться библиотекой keyboard
. Вот пример кода, демонстрирующий это:
import keyboard stop = False def on_key_event(event): global stop if event.event_type == keyboard.KEY_DOWN: if event.name == 'q' and keyboard.is_pressed('ctrl'): stop = True keyboard.hook(on_key_event) while not stop: # Ваш код в цикле while True print("Выполняем какие-то действия...") print("Поток остановлен.")
В этом примере создается обработчик событий клавиатуры с помощью функции on_key_event
, который устанавливает флаг stop
в True
, когда пользователь нажимает "Ctrl + q". После этого условие while not stop
перестанет выполняться, и цикл будет завершен.
Помните, что библиотека keyboard
требует установки в вашем проекте. Вы можете установить ее, выполнив команду pip install keyboard
в терминале.
Надеюсь, данное объяснение было полезным для вас. Если у вас есть дополнительные вопросы, не стесняйтесь их задавать!