Я немного новичок в кодировании PsychoPy
и Python
, поэтому, пожалуйста, извините мой вопрос, если он является основным. В моей задаче у меня есть несколько файлов, которые определяют положение стимулов. Мой внешний цикл имеет переменную, ExcelList
, в которой указаны упомянутые выше имена файлов. Внутренний цикл, который диктует каждое испытание, пытается случайно вызвать эти файлы, введя $ExcelList
в пространство с запросом файла условий. Как я понимаю, команда для $ExcelList
должна получить доступ к файлу условий во внешнем цикле и вытащить один из файлов, содержащих позиции стимулов для этого испытания. Тем не менее, я вместо этого представлены со следующей ошибкой:Psychopy: вызывать файл условий из файла условий внешнего цикла
File "/Users/bencline/Desktop/Psychexp/NegPriming2080_lastrun.py", line 247, in module> trialList=data.importConditions(ExcelList), File "/Applications/PsychoPy2.app/Contents/Resources/lib/python2.7/psychopy/data.py", line 1366, in importConditions raise ImportError('Conditions file not found: %s' %os.path.abspath(fileName)) ImportError: Conditions file not found: /Users/bencline/Desktop/Psychexp/Trials_20_95.xlsx
Казалось бы, что внутренний цикл не находит состояние во внешнем контуре (или не читает внешний цикл в целом). Если я пытаюсь вместо написания $eval(ExcelList)
я представил следующую ошибку:
File "/Users/bencline/Desktop/Psychexp/NegPriming2080_lastrun.py", line 247, in trialList=data.importConditions(eval(ExcelList)), File "", line 1, in NameError: name 'Trials_20_95' is not defined
Это кажется более показателен основной проблемы, но я до сих пор не знаю, как действовать дальше. Есть ли у вас какие-либо предложения относительно того, почему это происходит и как я могу это исправить?
Спасибо,
-Бен
Jonas почти наверняка исправил первую проблему: система работает, в которой происходит извлечение имени файла («Trials_20_95.xlsx») из файла внешних условий, но просто не может его найти. У вас есть это в подкаталоге? Вторая ошибка заключается в том, что 'eval()' не подходит для этого. У вас есть строка, представляющая имя файла («Trials_20_95.xlsx»), но использование 'eval' пытается превратить это в имя переменной, которого не существует (обратите внимание, что Python отменил часть« .xlsx »здесь: он интерпретирует .xlsx как атрибут переменной под названием «Trials_20_95»). –
Большое спасибо Jonas. Оказывается, это была простая проблема с каталогом, как вы и Майкл предположили. Я переместил эксперимент с другого компьютера и в процессе создавая каталоги в текущей системе, я пропустил, что на пути добавлен подкаталог. Еще раз спасибо за вашу помощь. Я редактировал файл Excel, чтобы включить подкаталог в его поиск, и теперь все работает гладко. –
этот ответ решил вашу проблему, пожалуйста, примите его, отметив его, чтобы другие могли видеть, что есть решение. Я рад, что вы нашли решение. –