心理学:从外部循环的条件文件中调用条件文件

时间:2015-08-10 19:24:45

标签: nested-loops psychopy

我对PsychoPyPython编码有点新意,所以如果它是基本的,请原谅我的问题。在我的任务中,我有许多文件来决定刺激的位置。我的外部循环有一个变量ExcelList,它前面提到了文件名。内部循环决定每个试验,试图通过将$ExcelList输入要求条件文件的空间来随机调用这些文件。据我了解,$ExcelList的命令应该访问外部循环中的条件文件,并拉出一个包含该试验的刺激位置的文件。但是,我提出了以下错误:

  

文件“/Users/bencline/Desktop/Psychexp/NegPriming2080_lastrun.py”,   <模块中的第247行>       trialList = data.importConditions(ExcelList),File“/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/data.py”,   第1366行,在importConditions中       引发ImportError('条件文件未找到:%s'%os.path.abspath(fileName))ImportError:找不到条件文件:   /Users/bencline/Desktop/Psychexp/Trials_20_95.xlsx

看起来内循环没有在外循环中找到条件(或者没有完全读取外循环)。如果我尝试写$eval(ExcelList),我会收到以下错误:

  

文件“/Users/bencline/Desktop/Psychexp/NegPriming2080_lastrun.py”,   第247行       trialList = data.importConditions(eval(ExcelList)),文件“”,第1行,在NameError中:名称'Trials_20_95'不是   定义

这似乎更能说明潜在的问题,但我仍然不确定如何从这里开始。您对此为何会发生以及如何进行修复有任何建议吗?

谢谢,

-Ben

1 个答案:

答案 0 :(得分:1)

你的策略是正确的。它会在外部循环中读取您的ExcelList,但无法在文件系统的ExcelList中找到文件名。特别是,在您的第一条错误消息中,它找不到/Users/bencline/Desktop/Psychexp/Trials_20_95.xlsx。所以检查它是否确实存在。我强烈怀疑它不是因为其中一个或两个:

  • 它位于不同的文件夹中,例如一个子文件夹。解决方案是在ExcelList文件中写出路径(相对或绝对)。
  • 拼写不同,例如使用小T或大写后缀(XLSX),空格键等。解决方案当然是使ExcelList中的文件名与实际文件名匹配。