我需要弄清楚发送命令以更改背景颜色或播放声音与使用 timeit 实际发生的这些事件之间的延迟。(我在 Windows 上,Python 2.73)
我正在做一个反应时间测试,我会在更改背景颜色或播放声音之前记录时间(使用 time.clock())。然后,当受试者按下一个键时,我再次记录时间并取差以找到反应时间。
对于声音播放,这就是我所做的:
import timeit
t = timeit.Timer(stmt = "winsound.PlaySound('C:\WINDOWS\media\Windows XP Error.wav', winsound.SND_FILENAME)",setup = "import winsound")
n = t.timeit(number = 100)
print n/100 -0.999
0.999 是Windows XP Error.wav的持续时间(以秒为单位)。
这给了我大约 56 毫秒的时间。我不确定它是否合理,是否正确,以及我是否应该启用垃圾收集?
对于背景变化,我遇到了更多问题。由于我在全屏模式下进行测试,因此我尝试将所有这些都放入设置参数中:
from Tkinter import Tk
root=Tk()
root.overrideredirect(True)
root.geometry("{0}x{1}+0+0".format(root.winfo_screenwidth(),root.winfo_screenheight()))
root.mainloop()
即使我用 ; 将它们分开 我仍然遇到语法错误。当我不是全屏尝试时
setup = 'from Tkinter import Tk; root=Tk(); root.mainloop()'
,窗口实际上会打开,但什么也没有发生,如果我关闭它,我会看到其他错误。Invalid command name "."
我实际测量的语句是root.configure(background='red')
.