python - 如何在python中使用pynput输出每次按下空格键之间的时间
问题描述
我正在尝试获取每次按下空格键之间的时间并将其输出到文本文件,以便它显示每个延迟的可运行日志。我对其进行了测试,它运行了,但是文本文件中没有出现任何内容。这是我的代码:
from pynput.keyboard import Key, Listener
from playsound import playsound
import time
def on_press(key):
global key2
key2 = key
with Listener(
on_press=on_press) as listener:
listener.join()
while True:
done = False
if key2 == "'s'":
file = open("script.txt", "r")
exec(file.read())
file.close()
playsound("beep.mp3")
while done == False:
time.sleep(0.01)
timer += 0.01
if key2 == "key.space":
str = str + "\ntime.sleep(" + timer + ")"
timer = 0
if key2 == "'a'":
str = str + "\ntime.sleep(" + timer + ")"
timer = 0
file = open("script.txt", "a")
file.write(str)
file.close()
done = True
if key2 == "'d'":
timer = 0
str = ""
done = True
请注意,我擅长编码,但不是特别好。谢谢你。
解决方案
我想到的一种简单方法是使用time.time()
import time
start = time.time()
diff = time.time() - start # Difference between starting time and current time
这可能导致
...
while True:
start = time.time()
...
if key2 == "key.space":
diff = time.time() - start
推荐阅读
- r - 我有数据框时 gvisLineChart 出错
- go - 如何为使用 bazel 构建的 Go 项目设置 vscode?
- sql - Sql server 选择查询的 ids,从 datetime 中按转换日期分组的 ids 计数
- css - 转换 CSS 高度属性会导致 Blisk 中的“摆动”
- microsoft-cognitive - 认知人脸 API 返回 Web 应用程序没有结果
- python - python - 多处理记录失败
- c++ - 在 std::move 之后移动变量是否有效?
- kubernetes - Kubernetes 零停机部署不起作用 - 导致 503 服务暂时不可用
- php - Guzzlehttp\Exception\ConnectionException:cURL 错误 28 在 2851 毫秒后解决超时
- angular - 如何从 LocalStorage 中检索值