前言
-使用keyboard庫來監(jiān)聽鍵盤按鍵
# 使用keyboard庫需要先安裝,可以使用pip命令進行安裝
pip install keyboard
一、方法
1.單線程退出
- 使用keyboard庫來監(jiān)聽鍵盤按鍵,然后在循環(huán)中不斷檢測是否按下了esc鍵
import keyboard
while True:
# do something
# 檢測是否按下了esc鍵
if keyboard.is_pressed('esc'):
break # 退出循環(huán)
# quit() # 退出程序
2.多線程退出
方法一:文章來源:http://www.zghlxwxcb.cn/news/detail-513759.html
- 在主線程中,我們使用keyboard.wait(‘esc’)來等待esc鍵按下,這會阻塞主線程直到esc鍵被按下。在子線程中,我們可以使用keyboard.is_pressed(‘esc’)來檢測esc鍵是否被按下。當檢測到esc鍵被按下時,子線程會退出循環(huán),從而結束子線程的執(zhí)行。
import threading
import keyboard
def do_something():
while True:
print("執(zhí)行任務")
# 檢測是否按下了esc鍵
if keyboard.is_pressed('esc'):
break # 退出循環(huán)
# quit() # 退出程序
# 創(chuàng)建線程并啟動
t = threading.Thread(target=do_something)
t.start()
# 等待esc鍵按下
keyboard.wait('esc')
方法二:文章來源地址http://www.zghlxwxcb.cn/news/detail-513759.html
- 當while循環(huán)中包含time.sleep()等待時間后,方法一者無法滿足。
- 在主線程中,我們使用keyboard.wait(‘esc’)來等待esc鍵按下,這會阻塞主線程直到esc鍵被按下。在子線程中我們添加daemon=True參數(shù),當主線程結束子線程會隨主線程一起結束。
import threading
import keyboard
import time
def do_something():
while True:
print("執(zhí)行任務")
time.sleep(5)
# 創(chuàng)建線程并啟動
t = threading.Thread(target=do_something, daemon=True)
t.start()
# 等待esc鍵按下
keyboard.wait('esc')
到了這里,關于python_實現(xiàn)按鍵退出程序的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!