最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 偷懶技巧——使用 keyboard 錄制鍵盤事件

 更新時(shí)間:2020年09月21日 09:55:20   作者:starryland  
這篇文章主要介紹了python如何使用 keyboard 錄制鍵盤事件,幫助大家提高工作效率,感興趣的朋友可以了解下

之前在某本書上看到一個(gè)程序,可以通過 Python 記錄下全局范圍內(nèi)的鍵盤事件,使用的是 ctypes 庫。
后來幾經(jīng)嘗試,始終不能成功運(yùn)行。原來它只支持 Python2 和 32 位的 Windows 系統(tǒng)。。。Excuse me?
于是在網(wǎng)上查找可行的替代方案,比如 pyHook 。呃,不合胃口。安裝比較繁瑣(有依賴庫且不能通過 pip 命令安裝),只支持 Windows 系統(tǒng),況且又是十年前就沒再更新的項(xiàng)目。。??戳讼潞瘮?shù)調(diào)用也算不上簡潔直觀。

后來又多番搜索,終于找到了一個(gè)名為keyboard 的 Python 庫,可以綁定全局事件、錄制及模擬鍵盤輸入、設(shè)置熱鍵等。
尤其是安裝和使用足夠簡單,比較合我的心意(畢竟 Github 上將近 1.5K 的小星星)。

一、特性

  • 全局范圍內(nèi)的鍵盤事件綁定。即程序可以后臺(tái)運(yùn)行,捕捉其他軟件下的按鍵動(dòng)作。
  • 跨平臺(tái),支持 Windows 、Linux 以及 MacOS 系統(tǒng)。支持 Python2 和 Python3 。
  • 純 Python 代碼,無需編譯 C 語言模塊。無依賴庫,安裝簡單(只是復(fù)制文件就可以)。
  • 通過獨(dú)立的線程捕捉事件,不阻塞主程序的運(yùn)行。
  • 很詳細(xì)的文檔,參見項(xiàng)目主頁的 README 。

其實(shí)我真的有點(diǎn)感覺,這才是我心目中比較“現(xiàn)代”的工具。

二、錄制及模擬按鍵動(dòng)作

就像前面提到的,安裝 keyboard 的流程非常簡單,無需考慮任何兼容性或者依賴問題,只需要一條簡短的命令:

$ pip install keyboard

可以使用下面的代碼錄制 10 秒鐘的鍵盤事件,并將其回放一遍(即重復(fù)按下之前操作的按鍵):

import keyboard
import time

keyboard.start_recording()
time.sleep(10)
events = keyboard.stop_recording()
keyboard.replay(events)

可以使用如下代碼制作一個(gè)簡單的 “鍵盤錄制器” (打印輸出全局范圍內(nèi)的按鍵動(dòng)作,并將按鍵順序保存在文本文件中):

import keyboard

def print_pressed_keys(e):
  line = ', '.join(str(code) for code in keyboard._pressed_events)
  print(line)

  with open('keylogger.txt', 'a+') as f:
    f.write(line + '\n')

keyboard.hook(print_pressed_keys)
keyboard.wait()

PS:上述代碼中的 code 并不是對應(yīng)按鍵的 ASCII 碼,而是根據(jù)鍵盤布局為按鍵指定的數(shù)值(如 a 鍵為 30,b 鍵為 42 等等),可以通過自行測試確認(rèn)具體的對應(yīng)關(guān)系。

如同時(shí)按下兩個(gè)或多個(gè)按鍵,則上述程序會(huì)以 code, code... 的形式輸出。

三、熱鍵捕獲及綁定

可以使用如下代碼錄制熱鍵并為該熱鍵綁定上特定的觸發(fā)事件:

import keyboard

print('Press and release your desired hotkey: ')
hotkey = keyboard.read_hotkey()
print('Hotkey selected: ', hotkey)

def on_triggered():
  print("Triggered!")

keyboard.add_hotkey(hotkey, on_triggered)
print("Press ESC to stop.")

其他的使用方式就不再一一列舉了,可以參考 keyboard 項(xiàng)目的 Github 主頁 。

幾種常見的使用示例也已經(jīng)包含在項(xiàng)目代碼的 examples 目錄下。

以上就是python 偷懶技巧——使用 keyboard 錄制鍵盤事件的詳細(xì)內(nèi)容,更多關(guān)于python keyboard 錄制鍵盤事件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中json.dumps()和json.dump()的區(qū)別小結(jié)

    Python中json.dumps()和json.dump()的區(qū)別小結(jié)

    在Python中,json.dumps()和json.dump()是兩個(gè)常用的函數(shù),本文主要介紹了Python中json.dumps()和json.dump()的區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • python實(shí)現(xiàn)銀行實(shí)戰(zhàn)系統(tǒng)

    python實(shí)現(xiàn)銀行實(shí)戰(zhàn)系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)銀行實(shí)戰(zhàn)系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 如何用Python獲取計(jì)算機(jī)名,ip地址,mac地址

    如何用Python獲取計(jì)算機(jī)名,ip地址,mac地址

    這篇文章主要介紹了如何用Python獲取計(jì)算機(jī)名,ip地址,mac地址,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • 講解Python中運(yùn)算符使用時(shí)的優(yōu)先級

    講解Python中運(yùn)算符使用時(shí)的優(yōu)先級

    這篇文章主要介紹了講解Python中運(yùn)算符使用時(shí)的優(yōu)先級,是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • 一文詳細(xì)介紹numpy在python中的用法

    一文詳細(xì)介紹numpy在python中的用法

    這篇文章主要介紹了numpy在python中的用法,NumPy是Python科學(xué)計(jì)算庫,主要用于處理大型多維數(shù)組和矩陣運(yùn)算,它提供了多種函數(shù)進(jìn)行數(shù)組操作,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-01-01
  • 使用python分析git log日志示例

    使用python分析git log日志示例

    這篇文章主要介紹了使用python分析git log日志示例,需要的朋友可以參考下
    2014-02-02
  • Python中asyncio模塊使用詳解

    Python中asyncio模塊使用詳解

    Python中的asyncio模塊提供了異步IO支持,通過協(xié)程和事件循環(huán)實(shí)現(xiàn)異步編程,使用裝飾器@asyncio.coroutine可以定義協(xié)程,yield from語法用于調(diào)用其他協(xié)程并實(shí)現(xiàn)非阻塞等待,asyncio.sleep()模擬IO操作,通過并發(fā)執(zhí)行多個(gè)協(xié)程提高程序性能
    2024-10-10
  • Python函數(shù)返回不定數(shù)量的值方法

    Python函數(shù)返回不定數(shù)量的值方法

    今天小編就為大家分享一篇Python函數(shù)返回不定數(shù)量的值方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 查看keras各種網(wǎng)絡(luò)結(jié)構(gòu)各層的名字方式

    查看keras各種網(wǎng)絡(luò)結(jié)構(gòu)各層的名字方式

    這篇文章主要介紹了查看keras各種網(wǎng)絡(luò)結(jié)構(gòu)各層的名字方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • opencv實(shí)現(xiàn)圖像校正

    opencv實(shí)現(xiàn)圖像校正

    這篇文章主要為大家詳細(xì)介紹了opencv實(shí)現(xiàn)圖像校正,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評論

峨山| 肇东市| 弥渡县| 宝应县| 宣城市| 洛宁县| 龙井市| 德惠市| 台湾省| 个旧市| 陵川县| 玉溪市| 建始县| 曲阳县| 屯门区| 吉隆县| 富锦市| 措美县| 高淳县| 丽江市| 渑池县| 皮山县| 和平县| 新闻| 武陟县| 邢台市| 宜丰县| 五寨县| 封丘县| 湟中县| 周宁县| 青海省| 新邵县| 安多县| 新晃| 伊川县| 佛冈县| 南溪县| 博乐市| 松江区| 会同县|