前言
-使用keyboard库来监听键盘按键
# 使用keyboard库需要先安装,可以使用pip命令进行安装
pip install keyboard
一、方法
1.单线程退出
- 使用keyboard库来监听键盘按键,然后在循环中不断检测是否按下了esc键
import keyboard
while True:
# do something
# 检测是否按下了esc键
if keyboard.is_pressed('esc'):
break # 退出循环
# quit() # 退出程序
2.多线程退出
方法一:文章来源:https://www.toymoban.com/news/detail-513759.html
- 在主线程中,我们使用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')
方法二:文章来源地址https://www.toymoban.com/news/detail-513759.html
- 当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')
到了这里,关于python_实现按键退出程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!