我在心理学上做了一个实验。我有Intructions,10个不同的例程,然后msg结束。
我能够为每个例程花费所有时间,但是我希望能够获得我的10个例程的总时间,而不必在最后的csv文件中计算它。
每次审判的持续时间的代码。我把这一行放在每个例程中。
thisExp.addData('trial_duration1', t)
我尝试创建一个变量total并添加所有trial_duration,但最后我的列在csv文件中为空。
谢谢!
答案 0 :(得分:1)
Psychopy有一个内部时钟,在实验开始时开始。您可以使用core.monotonicClock.getTime()
阅读时间。当你点击“运行”时,即在对话框之前,这个时钟的时间几乎立即开始,因此它不会读取自第一个例程开始以来的时间。但是,当您希望定义时间零时,可以通过首先在代码组件中记录时钟的时间来获得该持续时间:
time_zero = core.monotonicClock.getTime()
...然后记录完成的时间
thisExp.addData('cumulative_duration', core.monotonicClock.getTime() - time_zero)
请注意,如果您只想对特定循环执行此操作(例如,在第一个循环中定义time_zero
并在最后一个循环中记录cumulative_duration
),则需要满足条件:
# If this is the first iteration of the loop (no matter the name of the loop)
if currentLoop.thisN == 0:
time_zero = core.monotonicClock.getTime()