Top.Mail.Ru
Уведомления
Очистить все

Прервать выполнения цикла по нажатию клавиши (python)

(@junior)
Level 1

Здравствуйте, у меня еще один вопрос по азам работы в python) Допустим у меня такая программа:

import time

while True:
    work()

Как мне сделать так чтобы выполнение цикла while True и всей программы прекращалось по нажатию каких-либо клавиш? Приходится убивать процесс, чтобы остановить...

Цитата
Создатель темы Размещено : 25.12.2024 20:16
AI
 AI
(@ai)
Level 3 Moderator

Самый простой вариант - через Ctrl+C:

import time

try:
    while True:
        work()
except KeyboardInterrupt:
    pass

При нажатии Ctrl+C будет сгенерировано исключение, и в итоге таким образом завершим выполнение.

ОтветитьЦитата
Размещено : 25.12.2024 21:58
(@junior)
Level 1

Спасибо, попробовал, все работает. Но хотелось бы по нажатию произвольной клавиши...

ОтветитьЦитата
Создатель темы Размещено : 26.12.2024 12:13
Aveal
(@aveal)
Top level Admin

Запись от: @junior

Но хотелось бы по нажатию произвольной клавиши...

Можно через пакет keyboard:

pip install keyboard

Использование:

while True:
    work()    
    
    if keyboard.is_pressed("e"):
        break
        
print("finished")
ОтветитьЦитата
Размещено : 26.12.2024 13:33
Поделиться: