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')

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年8月16日
下一篇 2023年8月16日

相关推荐