Python利用keyboard模塊實(shí)現(xiàn)鍵盤記錄操作
模擬鍵盤操作執(zhí)行自動化任務(wù),我們常用的有 pyautowin 等自動化操作模塊。但是這些模塊有一個很大的缺點(diǎn),編譯的時候非常依賴 windows 的C語言底層模塊。
今天介紹的這個模塊叫做 keyboard 它有一個最大的優(yōu)點(diǎn):純Python原生開發(fā),編譯時完全不需要依賴C語言模塊。一行命令就能完成安裝,非常方便。
1.準(zhǔn)備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。
(可選1) 如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda,它內(nèi)置了Python和pip.
(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn)
請選擇以下任一種方式輸入命令安裝依賴:
1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install keyboard
2.基本使用
按下并釋放:模擬鍵盤按下某些鍵或組合鍵后釋放,比如shift + S, 并增加空格:
import?keyboard
keyboard.press_and_release('shift+s, space')輸入文字:
import?keyboard
keyboard.write('Python 實(shí)用寶典')等待觸發(fā)按鍵并響應(yīng):
# 公眾號:Python實(shí)用寶典
import?keyboard
keyboard.add_hotkey('ctrl+shift+a',?print, args=('寶典哥觸發(fā)了熱鍵'))
keyboard.wait()這樣程序就會監(jiān)控 "ctrl+shift+a" 組合鍵的觸發(fā)情況,一旦組合鍵觸發(fā),就會執(zhí)行第二個參數(shù)的函數(shù),并將第三個參數(shù)傳入第二個函數(shù)的參數(shù)中。

等待觸發(fā)某個按鍵:
# 公眾號:Python實(shí)用寶典
import?keyboard
keyboard.add_hotkey('ctrl+shift+a',?print, args=('寶典哥觸發(fā)了熱鍵'))
keyboard.wait('esc')這樣,按下 ESC 就會終止等待,繼續(xù)往下運(yùn)行程序。
3.高級功能
記錄功能:
# 公眾號:Python實(shí)用寶典 import?keyboard recorded = keyboard.record(until='esc') print(recorded)

可以看到,除非你按下esc,它會記錄所有執(zhí)行過的鍵盤操作。
重放操作:
# 公眾號:Python實(shí)用寶典 import?keyboard recorded = keyboard.record(until='esc') print(recorded) keyboard.play(recorded, speed_factor=3)
play方法能完全模擬你剛記錄下的所有鍵盤操作。
替換操作:
# 公眾號:Python實(shí)用寶典
import?keyboard
keyboard.add_abbreviation('@@',?'Python 實(shí)用寶典')
keyboard.wait('esc')輸入@@并按下空格,它會將你剛輸入的@@替換為 Python 實(shí)用寶典.
怎么樣,這個簡單實(shí)用的Keyboard模塊,你學(xué)會使用了嗎?
到此這篇關(guān)于Python利用keyboard模塊實(shí)現(xiàn)鍵盤記錄操作的文章就介紹到這了,更多相關(guān)Python keyboard記錄鍵盤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python GUI庫圖形界面開發(fā)之PyQt5訪問系統(tǒng)剪切板QClipboard類詳細(xì)使用方法與實(shí)例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5訪問系統(tǒng)剪切板QClipboard類詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下2020-02-02
Python?運(yùn)算符Inplace?與Standard?
這篇文章主要介紹了Python?運(yùn)算符Inplace?與Standard,nplace運(yùn)算符的行為類似于普通運(yùn)算符,只是它們在可變和不可變目標(biāo)的情況下以不同的方式運(yùn)行2022-09-09
Python實(shí)現(xiàn)動態(tài)柱狀圖的繪制
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)動態(tài)柱狀圖的繪制的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)與借鑒價值,需要的可以參考一下2022-12-12
Python 使用 consul 做服務(wù)發(fā)現(xiàn)示例詳解
這篇文章主要介紹了Python 使用 consul 做服務(wù)發(fā)現(xiàn)示例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
Keras構(gòu)建神經(jīng)網(wǎng)絡(luò)踩坑(解決model.predict預(yù)測值全為0.0的問題)
這篇文章主要介紹了Keras構(gòu)建神經(jīng)網(wǎng)絡(luò)踩坑(解決model.predict預(yù)測值全為0.0的問題),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Python3內(nèi)置模塊之json編解碼方法小結(jié)【推薦】
這篇文章主要介紹了Python3內(nèi)置模塊之json編解碼方法小結(jié),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05

