Python利用keyboard模塊實現(xiàn)鍵盤記錄操作
模擬鍵盤操作執(zhí)行自動化任務(wù),我們常用的有 pyautowin 等自動化操作模塊。但是這些模塊有一個很大的缺點,編譯的時候非常依賴 windows 的C語言底層模塊。
今天介紹的這個模塊叫做 keyboard 它有一個最大的優(yōu)點:純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)點
請選擇以下任一種方式輸入命令安裝依賴:
1. Windows 環(huán)境 打開 Cmd (開始-運行-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 實用寶典')
等待觸發(fā)按鍵并響應(yīng):
# 公眾號:Python實用寶典 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實用寶典 import?keyboard keyboard.add_hotkey('ctrl+shift+a',?print, args=('寶典哥觸發(fā)了熱鍵')) keyboard.wait('esc')
這樣,按下 ESC 就會終止等待,繼續(xù)往下運行程序。
3.高級功能
記錄功能:
# 公眾號:Python實用寶典 import?keyboard recorded = keyboard.record(until='esc') print(recorded)
可以看到,除非你按下esc,它會記錄所有執(zhí)行過的鍵盤操作。
重放操作:
# 公眾號:Python實用寶典 import?keyboard recorded = keyboard.record(until='esc') print(recorded) keyboard.play(recorded, speed_factor=3)
play方法能完全模擬你剛記錄下的所有鍵盤操作。
替換操作:
# 公眾號:Python實用寶典 import?keyboard keyboard.add_abbreviation('@@',?'Python 實用寶典') keyboard.wait('esc')
輸入@@并按下空格,它會將你剛輸入的@@替換為 Python 實用寶典.
怎么樣,這個簡單實用的Keyboard模塊,你學(xué)會使用了嗎?
到此這篇關(guān)于Python利用keyboard模塊實現(xiàn)鍵盤記錄操作的文章就介紹到這了,更多相關(guān)Python keyboard記錄鍵盤內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python GUI庫圖形界面開發(fā)之PyQt5訪問系統(tǒng)剪切板QClipboard類詳細(xì)使用方法與實例
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5訪問系統(tǒng)剪切板QClipboard類詳細(xì)使用方法與實例,需要的朋友可以參考下2020-02-02Python 使用 consul 做服務(wù)發(fā)現(xiàn)示例詳解
這篇文章主要介紹了Python 使用 consul 做服務(wù)發(fā)現(xiàn)示例詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03Keras構(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-07Python3內(nèi)置模塊之json編解碼方法小結(jié)【推薦】
這篇文章主要介紹了Python3內(nèi)置模塊之json編解碼方法小結(jié),本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05