psychopy.org | Reference | Downloads | Github

Can't open psydat file

Experiment was created with Builder 1.84.2. For one participant there was no csv file when the experiment ended, but there was a psydat file. I tried loading the psydat file with psychopy.misc.fromFile, but I get the following error:

Exception AttributeError: "'ExperimentHandler' object has no attribute 'dataFileName'" in <bound method ExperimentHandler.__del__ of <psychopy.data.ExperimentHandler object at 0x0000000011557400>> ignored
Traceback (most recent call last):

  File "<ipython-input-18-3a21fd185040>", line 3, in <module>
    f = fromFile('d:\\drive\\research\\projects\\120-integration-vs-inference\\Models and Memory Group\\data\\pilot_v2\\ac-inference-psychopy_003_2017_Mar_25_1435.psydat')

  File "D:\software\Anaconda2\lib\site-packages\psychopy\tools\filetools.py", line 34, in fromFile
    contents = cPickle.load(f)

EOFError

I can open psydat files from other participants just fine. Any ideas?

The problem is similar to this (Reading .psydat files), but the solution doesn’t work for me - I checked, I am using the same version to try and load the psydat file as the one with which the experiment was run.

My guess is that for some reason the data file didn’t save properly. Slightly concerning because this was a big problem several versions ago but I haven’t seen it happen lately. Anything unusual about your experiment you can think of? Like deeply nested loops or large number of trials?
You weren’t running it from iPython were you?

Found that it is a video memory issue http://image.prntscr.com/image/633a3a66207b436d9b0194216ce277f4.png

Running from the PsychoPy GUI.

I’m using a “drop-out” procedure - people study a list of 60 word pairs, then are continuously tested with a cued-recall procedure. They see one of the words and have to type in the second word. The screen displays the input text as it is being typed. If the answer is wrong, the trial is repeated at the end of the cycle. This continues until all pairs have been recalled correctly. Then the whole procedure repeats a number of times (6 to 10), until a criterion accuracy is reached. Psychopy crashes after about 600-800 trials (~60 min).

The way that is set up is: http://prntscr.com/essypd

The inner loop (cuedRestudyProc) displays trials. It loads a condition file with the 60 pairs. It is set to repeat for a large number (1000 times). A code block keeps track of whether a word was recalled correctly, and then skips that trial from the condition list from the next repeat. When all pairs are recalled, the loop is manually broken with a code piece.

The outer loop repeats the whole procedure until a specified criterion.

Not sure how to fix anything. I found something online about using textbox rather than textstim, but I’ll have to rewrite everything in the coder (I can use the coder without a problem, but it will take a lot of rewriting).

Version 1.85 of PsychoPy has a newer version of pyglet, which should have fixed their bug:

http://www.psychopy.org/changelog.html

That hasn’t yet been packaged into a standalone for download, so you would need to install it manually like a developer. If you can’t do that, or can’t wait for the next standalone release, then using the texbox stimulus shouldn’t actually be too onerous. As per this suggestion:

It would be possible to stay within Builder and just replace your Builder Text components with textbox stimuli created in code, updating them via code components as required.

Hi Ven,

How did you program a drop-out procedure with an open field? I’m having the same issue - I need to use free text input for a feedback object but can’t seem to figure out how.

J