如何在Python中测量按键之间的时间间隔?

时间:2019-04-26 10:42:42

标签: python

我正在尝试创建一个测量钢琴演奏者的颤音速度的python程序。颤音是一种音乐装饰品,由钢琴上两个相邻键之间的快速交替组成,因此我认为可以使用PC键盘的两个键(例如“ K”和“ O”)来模拟。按键将以每秒10拍或更高的频率被按下。

是否可以在发生击键时在Python中进行注册?

一旦获得了这些数据,我就可以用它来进行统计等等。

2 个答案:

答案 0 :(得分:0)

修改键盘库的pressed_keys示例,如下所示,我已经实现了自己的尝试。但是,由于某种原因,每次击键都会在屏幕上打印两次时间。为什么会这样?怎么解决?

"""
Prints the scan code of all currently pressed keys.
Updates on every keyboard event.
"""
import sys
sys.path.append('..')
import keyboard
import time
def print_pressed_keys(e):
    #line = ', '.join(str(code) for code in keyboard._pressed_events)
    # '\r' and end='' overwrites the previous line.
    # ' '*40 prints 40 spaces at the end to ensure the previous line is cleared.
    #print('\r' + line + ' '*40, end='')
    a=time.clock()
    print(a)

keyboard.hook(print_pressed_keys)
keyboard.wait()

答案 1 :(得分:-1)

您可以使用时间类。根据您需要的精度,可以这样做:

times = []

key_stroke:
    times.append(time.time()) #time.clock() for more precision

有关密钥检测方法,请访问this链接。 另外,如果您需要在每个按键上包含更多信息或在按键之间进行区分,请创建一个类,并在其中添加一个带有时间的字段,另一个添加带有该键的字段。