python - 测量python中击键之间的时间

标签 python

使用以下代码:

   >>> import time
   >>> start = time.time()
   >>> end = time.time()
   >>> end - start

可以测量“开始”和“结束”之间的时间。如何测量特定击键之间的时间?具体来说,如果运行了一个模块并且用户开始输入内容,python 如何测量第一次击键和回车键之间的时间。假设我运行了这个脚本,它说:“请输入你的名字,然后按回车键:”。我输入 Nico,然后按回车键。如何测量“N”和回车键之间的时间。这应该以秒为单位,按下回车键后,脚本应该结束。

最佳答案

这会起作用(在某些系统上!):

import termios, sys, time
def getch(inp=sys.stdin):
    old = termios.tcgetattr(inp)
    new = old[:]
    new[-1] = old[-1][:]
    new[3] &= ~(termios.ECHO | termios.ICANON)
    new[-1][termios.VMIN] = 1
    try:
        termios.tcsetattr(inp, termios.TCSANOW, new)
        return inp.read(1)
    finally:
        termios.tcsetattr(inp, termios.TCSANOW, old)


inputstr = ''
while '\n' not in inputstr:
    c = getch()
    if not inputstr: t = time.time()
    inputstr += c
elapsed = time.time() - t

参见 this answer用于其他系统上的非阻塞控制台输入。

关于python - 测量python中击键之间的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9133923/

相关文章:

python - 在由重复项组成的无序数组中查找唯一元素

python - 为什么我的 Pandas 数据框只显示一个数据集的结果?

python - 如何将 groupby 函数与 count() 一起使用,条件仅在 i>Num 时计数

python - vscode python远程解释器

python - 如何将经度和纬度转换为国家或城市?

python - 在 matplotlib 中创建正方形网格(补丁)

python - 使用 Dash (Python) 移动对象(条形图)

python - Bokeh 服务器示例不工作

python - "Inappropriate ioctl for device"来自带有管道的 termios

java - Python - 集成 Java GUI 和 python 代码的最佳方式