在Python中创建一个键盘记录器

在Python中,我们可以读取用户输入并检测硬件设备,如键盘和鼠标,以开发交互式应用程序。特别是,pynput 模块允许我们与这类设备合作,用函数检测按键和光标移动。

本教程将演示如何在Python中创建一个键盘记录器。

在Python中创建一个键盘记录器

首先,让我们了解什么是键盘记录器。键盘记录器是一个可以读取用户在键盘上按下的键并将其存储在一个日志文件中的应用程序。

这类应用程序通常用于监控设备,以排除故障和检测技术问题。这些天来,这种脚本被用于恶意的目的,如监视设备以查看密码和其他访问代码,因此人们应该小心使用这些脚本。

现在我们将使用loggingpynput 模块在Python中创建一个简单的键盘记录器。

我们将使用logging 模块来创建一个跟踪所有按键的日志文件。我们将使用basicConfig() 构造函数创建一个文件,并在这个构造函数中指定filenameformat

pynput 模块有一个Listener 对象,当一个键被按下时收集函数。我们将定义一个名为press 的函数,Listener 对象将收集这个函数。

press() 函数将读取按下的键,并使用logging.info() 函数将其记录到文件中。请注意,按键将需要首先被打成一个字符串。

代码:

from pynput.keyboard import Key, Listener
import logging
logging.basicConfig(filename = ("logfile.txt"), level=logging.DEBUG, format='%(asctime)s: %(message)s')
def press(key):
    logging.info(str(key))
with Listener(on_press=press) as listener:
    listener.join()

输出:

在Python中创建一个键盘记录器

如上例所示,当给定的脚本运行时,用户所按的键会被记入日志文件中。注意,日志文件中的每个条目都是基于basicConfig() 函数中指定的格式。