python_实现按键退出程序
短信预约 -IT技能 免费直播动态提醒
前言
-使用keyboard库来监听键盘按键
# 使用keyboard库需要先安装,可以使用pip命令进行安装pip install keyboard
一、方法
1.单线程退出
- 使用keyboard库来监听键盘按键,然后在循环中不断检测是否按下了esc键
import keyboardwhile True: # do something # 检测是否按下了esc键 if keyboard.is_pressed('esc'): break # 退出循环 # quit() # 退出程序
2.多线程退出
方法一:
- 在主线程中,我们使用keyboard.wait(‘esc’)来等待esc键按下,这会阻塞主线程直到esc键被按下。在子线程中,我们可以使用keyboard.is_pressed(‘esc’)来检测esc键是否被按下。当检测到esc键被按下时,子线程会退出循环,从而结束子线程的执行。
import threadingimport keyboarddef 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 threadingimport keyboardimport timedef do_something(): while True: print("执行任务") time.sleep(5)# 创建线程并启动t = threading.Thread(target=do_something, daemon=True)t.start()# 等待esc键按下keyboard.wait('esc')
来源地址:https://blog.csdn.net/qq_45664055/article/details/129557795
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341