【发布时间】:2019-06-25 07:55:00
【问题描述】:
我想每秒将鼠标的位置写入文件 100 次。 但我认为它写得很慢。它在开始时大约每秒写入 80 次,并在一段时间后下降到 5 次。 有没有可能让它更快?
import sys
from datetime import datetime
import time
from Xlib import display
def mousepos():
data = display.Display().screen().root.query_pointer()._data
return data["root_x"], data["root_y"]
def get_millis():
return int(round(time.time() * 1000))
file = open("positions.txt", "a")
data = ''
last_pos = 0,0
start = get_millis()
while True:
if (get_millis() - start) >= 10:
mpos = mousepos()
if mpos != last_pos:
data += '{} {}\n'.format(mpos[0], mpos[1])
last_pos = mpos
start = get_millis()
if data != '':
file.write(data)
data = ''
【问题讨论】:
-
将睡眠添加到循环中,这样您就不会一直在循环中使用一个完整的 CPU。 stackoverflow.com/questions/377454/…
-
你的计时怎么样?您能否包括您所做的以确定它写入文件的速度?