【问题标题】:PsychoPy: Logging User Input StringsPsychoPy:记录用户输入字符串
【发布时间】:2015-01-05 12:44:17
【问题描述】:

我有一个 PsychoPy 例程,旨在充当内存对象跨度测试。在一个循环中,软件多次呈现一个对象(单个文本字符),然后是用户任务。该软件会记住字符串,然后要求用户输入所显示的字符。这个序列(任务循环,然后是字符召回)本身在一个更大的循环中出现了好几次。

角色是随机选择的。

我想在 PsychoPy 生成的 CSV 文件或某种日志文件中记录用户输入的字符。在 PsychoPy 图形界面系统中如何做到这一点?

用于记录字符序列的代码块是:

开始日常工作

givenAnswer = ""
returnPressed = False

R_memPrompt.setText("Please enter characters in the order they were presented, then hit 'Return':") 
R_memPrompt.draw()
win.flip()

每一帧

loopTest = 真 用户输入 = ""

if returnPressed == False:
    while loopTest == True:
        response = event.waitKeys(keyList=['a','b','c','d','e','f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'return', 'backspace', 'left'])
        if response[0] == 'return':
            loopTest = False
            returnPressed = True
            continueRoutine = False
        elif response[0] == 'backspace':
            userInput = userInput[:-1]
            userInput = userInput.upper()
            R_disp.setText(userInput)
            R_disp.draw()
            win.flip()
        else:
            userInput = userInput + response[0]
            userInput = userInput.upper()
            R_disp.setText(userInput)
            R_disp.draw()
            win.flip()

结束例程

givenAnswer = givenAnswer + userInput

稍后的例程已作为其开始例程

if memorySequence == givenAnswer:  # memorySequence is the prior record of memory characters
    #  do some stuff
else:
    #  do some other stuff

粗略(它是一个原型),但 每个帧 部分的目的只是通过 R_disp 文本刺激来反映写入屏幕的字符,同时允许用户退格并且不用担心区分大小写。最终答案以 givenAnswer 结尾, 然后与之前建立的 memorySequence 进行比较。

我想将这些变量的内容,memorySequencegivenAnswer 转储到 CSV 文件或某个日志文件中,这样我就不会丢失信息。

有没有办法做到这一点?

【问题讨论】:

    标签: psychopy


    【解决方案1】:

    当然。在代码组件的“结束例程”选项卡中,输入如下内容:

    thisExp.addData("sequence", memorySequence)
    thisExp.addData("answer", givenAnswer)
    

    这将在您的数据文件中添加两个新列,列标题是您放在引号中的任何文字值。

    【讨论】:

    • 是的,这正是我所希望的。你已经解决了六个与我描述的问题相似的问题。
    猜你喜欢
    • 2011-02-15
    • 1970-01-01
    • 2016-06-12
    • 2018-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多