Отключение KeyboardInterrupt после того, как он был использован один раз
Cont = 1
while Cont == 1:
try:
while Cont == 1:
counter = counter + 0.1
counter = round(counter, 1)
print(counter)
time.sleep(0.1)
if counter == crashNumber:
Cont = 0
except KeyboardInterrupt:
Multiplier = counter
Здесь счетчик будет продолжать считать, пока не достигнет crashNumber
, когда Ctrl + C нажата, он будет принимать число, которое counter
на и использовать его для Multiplier
будет использоваться позже.
Однако я только хочу дать пользователю возможность нажать эту кнопку один раз, затем она будет отключена. Есть ли способ, которым это можно сделать?
1 ответ
Решение
KeyboardInterrupt
будет выдано исключение, хотите вы того или нет: решение, таким образом, заключается в том, чтобы по-разному справляться с исключением except
блок. Моя выбранная реализация будет использовать простое логическое значение, которое начинается как True
и установлен в False
при первом прерывании:
import time
allow_interrupt = True
while True:
try:
time.sleep(1)
print ('...')
except KeyboardInterrupt:
if allow_interrupt:
print ('interrupted!')
allow_interrupt = False
Дайте мне знать, если это касается вашего варианта использования.