禁用已使用的键盘中断

2024-09-30 00:35:14 发布

您现在位置:Python中文网/ 问答频道 /正文

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以后使用。在

不过,我只想给用户一次机会按下这个按钮,然后它就被禁用了。有什么办法可以做到吗?在


Tags: iftimecounter计数器sleep计数printtry
1条回答
网友
1楼 · 发布于 2024-09-30 00:35:14

无论您是否愿意,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

让我知道这是否解决了你的用例。在

相关问题 更多 >

    热门问题