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