Python中keyboard的使用之監(jiān)控鍵盤的按鍵輸入
Python的keyboard模塊是一個(gè)用于監(jiān)聽和處理鍵盤事件的模塊。它可以讓Python程序獲取用戶在鍵盤上的輸入,并可以對(duì)輸入進(jìn)行相應(yīng)的處理。
keyboard模塊的功能包括:
- 監(jiān)聽按鍵:可以監(jiān)聽用戶按下和釋放的鍵盤按鍵,并觸發(fā)相應(yīng)的事件。
- 捕獲熱鍵:可以捕獲用戶定義的熱鍵,當(dāng)用戶按下熱鍵時(shí),可以觸發(fā)相應(yīng)的操作。
- 模擬鍵盤按鍵:可以模擬用戶在鍵盤上按下和釋放某個(gè)按鍵。
- 獲取鍵盤狀態(tài):可以獲取鍵盤上某個(gè)按鍵的當(dāng)前狀態(tài),如按下還是釋放。
keyboard模塊可以在Windows、Mac和Linux操作系統(tǒng)上使用,并且不需要安裝額外的庫(kù)文件。它被廣泛用于編寫Python程序中與鍵盤交互的功能,如游戲、自動(dòng)化腳本、快速輸入等。
keyboard庫(kù)的安裝
手動(dòng)安裝
首先打開cmd:
輸入命令
pip install keyboard#回車確定,直接下載,
keyboard就安裝在你的計(jì)算機(jī)上了
注:如果報(bào)錯(cuò),請(qǐng)到末尾找到答案
腳本安裝
import os #所需os庫(kù)(運(yùn)行終端命令) update='python.exe -m pip install --upgrade pip'#更新pip pre=os.system(update) while True:#循環(huán)語(yǔ)句 ku_name=input("請(qǐng)輸入所需下載第三方庫(kù)的名稱:") common=("pip install "+ku_name)#組裝下載命令 choose=input("正在做最后的確認(rèn)無(wú)誤后請(qǐng)輸入(y)")#執(zhí)行組裝的common命令,請(qǐng)求用戶選擇 if choose=="y"or choose=="Y" :#if的判斷語(yǔ)句 print("執(zhí)行代碼:",common) go=os.system(common)#輸出結(jié)果名為go的os庫(kù)的以管理員權(quán)限運(yùn)行名為common的命令 print("運(yùn)行情況",go) #輸出結(jié)果 print(ku_name,"程序運(yùn)行完成") else: print(ku_name,"程序運(yùn)行完成") exit(0) #無(wú)條件(錯(cuò)誤)終止程序代碼 ######################################################################## '''創(chuàng)作不易,感謝支持'''
keyboard的使用教程(語(yǔ)法):
監(jiān)控鍵盤
import keyboard def int_keyboard(event): print(event.name) keyboard.on_press(int_keyboard) keyboard.wait()
上面,我們定義了一個(gè)名為int_keyboard的函數(shù),,用于處理按鍵事件。在int_keyboard函數(shù)中,我們使用print函數(shù)來輸出按下的按鍵的名稱。
接下來,我們使用keyboard.on_press函數(shù)來監(jiān)聽按鍵事件。當(dāng)有按鍵被按下時(shí),int_keyboard函數(shù)會(huì)被調(diào)用。最后,我們使用keyboard.wait函數(shù)來使程序進(jìn)入監(jiān)聽狀態(tài),等待按鍵事件。
運(yùn)行以上代碼,我們可以在控制臺(tái)中看到按下按鍵時(shí)輸出的按鍵名稱。例如,按下’W’鍵,控制臺(tái)會(huì)輸出w。按下空格鍵,控制臺(tái)會(huì)輸出spacer。
示例
監(jiān)控指定按鍵
我們除了監(jiān)控所有按鍵輸入,還可以只監(jiān)控指定的按鍵。keyboard庫(kù)還提供了keyboard.is_pressed函數(shù)來判斷某個(gè)按鍵是否被按下。
import keyboard def on_key_pressed(event): if event.name == 'a': # 監(jiān)控按下的a鍵 print('a鍵被按下') def on_key_released(event): if event.name == 'a': # 監(jiān)控釋放的a鍵 print('a鍵被釋放') keyboard.on_press_key('a', on_key_pressed) keyboard.on_release_key('a', on_key_released) keyboard.wait('esc') # 等待按下esc鍵停止監(jiān)聽
在上述代碼中,我們使用on_press_key函數(shù)來監(jiān)聽按下的’a’鍵,并在on_key_pressed函數(shù)中進(jìn)行相應(yīng)的處理。類似地,使用on_release_key函數(shù)來監(jiān)聽釋放的’a’鍵,并在on_key_released函數(shù)中進(jìn)行相應(yīng)的處理。最后,使用keyboard.wait(‘esc’)函數(shù)等待按下esc鍵來停止監(jiān)聽。
可以根據(jù)自己的需求修改代碼中的按鍵名稱,以監(jiān)控其他按鍵的按下。
監(jiān)控組合鍵
除了單個(gè)按鍵的監(jiān)控,我們還可以監(jiān)控組合鍵的按下。組合鍵由多個(gè)按鍵同時(shí)按下組成。keyboard庫(kù)提供了keyboard.is_pressed函數(shù)來判斷多個(gè)按鍵是否同時(shí)被按下。
import keyboard while True: if keyboard.is_pressed('leftwin') and keyboard.is_pressed('r'): print('win+R被按下') break
在上述代碼中,我們通過檢查keyboard.is_pressed(‘ctrl’)和keyboard.is_pressed(‘c’)的返回值,來判斷Ctrl和C鍵是否同時(shí)被按下。當(dāng)Ctrl+C鍵同時(shí)被按下時(shí),程序輸出一條消息,并且通過break語(yǔ)句跳出循環(huán)。
你可以根據(jù)自己的需求修改代碼中的按鍵名稱,以監(jiān)控其他組合鍵的按下。
總結(jié)
總結(jié)一下,Python的keyboard模塊可以用于監(jiān)控鍵盤按鍵事件。它的作用包括:
- 監(jiān)控指定按鍵:可以使用
keyboard.is_pressed
函數(shù)來檢測(cè)某個(gè)按鍵是否被按下。 - 監(jiān)控組合鍵:可以使用
keyboard.add_hotkey
函數(shù)注冊(cè)組合鍵,并指定相應(yīng)的回調(diào)函數(shù)來處理按鍵事件。
通過使用keyboard模塊,你可以編寫Python程序來實(shí)現(xiàn)鍵盤事件的監(jiān)控和處理,從而實(shí)現(xiàn)一些自動(dòng)化、快捷鍵等功能。
到此這篇關(guān)于Python中keyboard的使用之監(jiān)控鍵盤的按鍵輸入的文章就介紹到這了,更多相關(guān)Python keyboard監(jiān)控鍵盤按鍵輸入內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 檢測(cè)nginx服務(wù)郵件報(bào)警的腳本
這篇文章主要介紹了python 檢測(cè)nginx服務(wù)郵件報(bào)警的腳本,幫助大家更好的利用python監(jiān)控服務(wù)器狀態(tài),感興趣的朋友可以了解下2020-12-12Python數(shù)據(jù)分析Matplotlib?柱狀圖繪制
本文主要介紹了Python數(shù)據(jù)分析Matplotlib柱狀圖繪制,Matplotlib提供了bar()方法繪制柱狀圖,下面具體繪制介紹需要的小伙伴可以參考以一下2022-05-05使用 prometheus python 庫(kù)編寫自定義指標(biāo)的方法(完整代碼)
這篇文章主要介紹了使用 prometheus python 庫(kù)編寫自定義指標(biāo)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06利用python實(shí)現(xiàn)查看溧陽(yáng)的攝影圈
這篇文章主要介紹了利用python實(shí)現(xiàn)查看溧陽(yáng)的攝影圈,文章基于BeautifulSoup的相關(guān)資料展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05python實(shí)現(xiàn)登錄密碼重置簡(jiǎn)易操作代碼
這篇文章主要介紹了python實(shí)現(xiàn)登錄密碼重置簡(jiǎn)易操作,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-08-08Pandas?計(jì)算相關(guān)性系數(shù)corr()方式
這篇文章主要介紹了Pandas?計(jì)算相關(guān)性系數(shù)corr()方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07