Python 我如何获得键盘按下之间的时间?

Python 我如何获得键盘按下之间的时间?,python,python-3.x,Python,Python 3.x,我用Python制作了一个键盘记录代码 当我打印出录音时,它只打印出向下键向上键 [键盘事件(f3向上)、键盘事件(s向下)、键盘事件(s向上)、键盘事件(d向下)、键盘事件(f向下)、键盘事件(d向上)、键盘事件(f向上)、键盘事件(f向上)、键盘事件(f4向下)] 我只想知道这些值之间的延迟。这可能吗?如果您可以发布一些代码和所需的输出,这会很有帮助,但如果您只想记录两个输入之间的时间: import time import keyboard import pickle while Tru

我用Python制作了一个键盘记录代码

当我打印出录音时,它只打印出向下键向上键

[键盘事件(f3向上)、键盘事件(s向下)、键盘事件(s向上)、键盘事件(d向下)、键盘事件(f向下)、键盘事件(d向上)、键盘事件(f向上)、键盘事件(f向上)、键盘事件(f4向下)]


我只想知道这些值之间的延迟。这可能吗?

如果您可以发布一些代码和所需的输出,这会很有帮助,但如果您只想记录两个输入之间的时间:

import time
import keyboard
import pickle

while True:
    print("Connected")
    while True:  #start
    if keyboard.is_pressed('F3'):
        print("Start")
        keyboard.start_recording()
        break
while True: #end
    if keyboard.is_pressed('F4'):
        print("End")
        events = keyboard.stop_recording()
        profile_file = open("profile.pickle", "wb")
        profile = (events)
        pickle.dump(events, profile_file)
        profile_file.close()
        break
while True: #Play
    if keyboard.is_pressed('F5'):
        print("Play")
        keyboard.replay(events)
        print(events)    
        print("Finish")
        break

break    

我不知道您的代码或结果,因此我不会在循环过程中编写
if

您可以使用
time.time()
函数在按键和释放时以秒为单位获取当前时间(小数点后有一些额外的精度),然后减去这两个值得到持续时间。例如:

导入时间
#[按下键代码]
按下时间=时间。时间()
#[键控码]
发布时间=time.time()
持续时间=释放时间-按下时间

请注意,如果两次测量之间的系统时间发生变化,则持续时间值可能为负值。

请添加您以前拥有的代码,以便我可以帮助您解决问题。您熟悉该模块吗?它可以用来测量时间这能回答你的问题吗?为什么
睡眠
?这似乎缓和了测量……你使用
时间。睡眠(秒)
等待设定的时间段是的,我知道。但是,如果试图测量按钮按下之间的时间,为什么要阻止程序等待?这只是一个例子;您可以将等待时间减少到类似于
0.01
,或者您可以创建一个布尔值(例如,
is_key\u pressed
),如果是真的,则运行此命令,这意味着您可以在
if
语句期间以及按下下一个键时继续使用其他代码行,将布尔值设置为
False
,计时器将停止添加。
import time
timer = 0

# input key down:
    # while input is NOT key up:
        time.sleep(0.1)
        timer += 0.1