python_实现按键退出程序

前言

-使用keyboard库来监听键盘按键

# 使用keyboard库需要先安装,可以使用pip命令进行安装
pip install keyboard

一、方法

1.单线程退出

  • 使用keyboard库来监听键盘按键,然后在循环中不断检测是否按下了esc键
    import keyboard
    while True:
        # do something
    
        # 检测是否按下了esc键
        if keyboard.is_pressed('esc'):
            break  # 退出循环
            # quit()  # 退出程序
    

    2.多线程退出
    方法一:

    在主线程中,我们使用keyboard.wait(‘esc’)来等待esc键按下,这会阻塞主线程直到esc键被按下。在子线程中,我们可以使用keyboard.is_pressed(‘esc’)来检测esc键是否被按下。当检测到esc键被按下时,子线程会退出循环,从而结束子线程的执行。

    import threading
    import keyboard
    def do_something():
        while True:
            print("执行任务")
            # 检测是否按下了esc键
            if keyboard.is_pressed('esc'):
                break  # 退出循环
                # quit()  # 退出程序
    
    # 创建线程并启动
    t = threading.Thread(target=do_something)
    t.start()
    # 等待esc键按下
    keyboard.wait('esc')
    

    方法二:

  • 当while循环中包含time.sleep()等待时间后,方法一者无法满足。

  • 在主线程中,我们使用keyboard.wait(‘esc’)来等待esc键按下,这会阻塞主线程直到esc键被按下。在子线程中我们添加daemon=True参数,当主线程结束子线程会随主线程一起结束。

     
    import threading
    import keyboard
    import time
    def do_something():
        while True:
            print("执行任务")
            time.sleep(5)
    
    # 创建线程并启动
    t = threading.Thread(target=do_something, daemon=True)
    t.start()
    # 等待esc键按下
    keyboard.wait('esc')
    

                                    【 到底了哦,原创不易,点个赞呗!】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值