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')
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值