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