下面有下面的代码文件keylogger.py,用于检测按下的特定键并保存到log.txt文件中。我想在这个python代码中添加一个在代码开始运行时启动的计时器,我还希望代码的这一部分能够保存keys从文件开始按下的确切时刻,并将这些信息保存在log.txt文件或另一个单独的文件中(我认为需要使用with open和f.write )。我在How to create a timer on python和https://pythonhow.com/measure-execution-time-python-code/中找到了一些计时思想。
所以我的log.txt会像一样
log.py
RLLR #this line would already be produced by keylogger.py
R: 0.2s
L:0.24s
L:1.34s
R:2.5skeylogger.py
from pynput.keyboard import Listener, Key
#set log file location
logFile = "/home/diego/log.txt"
def writeLog(key):
translate_keys = {
Key.right: "R",
Key.left: "L",
}
if key in translate_keys:
with open(logFile, "a") as f:
f.write(translate_keys[key])
with Listener(on_press=writeLog) as l:
l.join()发布于 2020-01-06 18:38:26
使用单独的文件将是最简单的解决方案,我认为:
from pynput.keyboard import Listener, Key
import time
#set log file location for keys pressed
keysLogFile = "/home/diego/keys_log.txt"
#set log file location for keys timestamps
timestampsLogFile = "/home/diego/ts_log.txt"
#store start timestamp
startTime = time.time()
def writeLog(key):
translate_keys = {
Key.right: "R",
Key.left: "L",
}
if key in translate_keys:
currentTime = time.time() - startTime
with open(keysLogFile, "a") as f:
f.write(translate_keys[key])
with open(timestampsLogFile, "a") as f:
f.write(translate_keys[key] + ": " + str(currentTime) + "s\n")
with Listener(on_press=writeLog) as l:
l.join()这会给你两个单独的文件:
keys_log.txt
RLLRts_log.txt
R: 0.2s
L: 0.24s
L: 1.34s
R: 2.5shttps://stackoverflow.com/questions/59616752
复制相似问题