'list' 对象没有属性 'winType'
'list' object has no attribute 'winType'
我正在尝试 运行 一个 python 脚本,但出现此错误。 AttributeError: 'list' object has no attribute 'winType'
:
文件实际内容为:
import time
import pylsl
import bci.open_bci_v3 as bci
#from random import random as rand
from pylsl import StreamInfo, StreamOutlet
from psychopy import prefs
prefs.general['audioLib'] = ['pygame']
from psychopy import visual, core, sound
import esys_cfg
NUM_CHANNELS = 8
SAMP_RATE = 100
info = StreamInfo('OpenBCI', 'EEG', NUM_CHANNELS, SAMP_RATE, 'float32', 'myuid34234')
outlet = StreamOutlet(info)
#funtion call to start displaying images
#def displayStimuli
# for file in os.listdir('directory'):
# for i in range(0,len(images)):
# def display(files, .....):
# ex: file_name = ['/dir/dir2/img.png']
window = visual.Window([512, 512])
cfg = esys_cfg.create_config('../stimulus-config/test.yml')
print(cfg.trial_order)
#trial_order = ['one', 'two', 'one']
for element in cfg.trial_order: #loop through all elements in array trial_order
imageIndex = 0
for imageIndex in range(len(cfg.trials[element].files)):
stimulis = cfg.trials[element].stimuli_folder + '/' + cfg.trials[element].files[imageIndex]
showStim = visual.ImageStim(window, stimulis)
showStim.draw([window])
window.flip()
core.wait(2.0)
如何更正此问题和 运行 程序?
因为你只有一个 window 你可以使用:
showStim.window = window # stimulus is now drawn to window
showStim.draw()
如果你有多个window,你可以将相关的window作为参数传递(你的代码中的括号是多余的)。
# Note that this just changes **default** window for stimulus.
showStim.draw(win1)
showStim.draw(win2)
行中出现错误
showStim.draw([window])
应该读作
showStim.draw(window)
如果您只有一个 window,只需
showStim.draw()
在 window 中绘制 showStim
在初始化时作为参数给出。顺便说一句,初始化 psychopy 刺激的计算量很大(很容易需要几百毫秒),因此请在脚本开头执行一次,然后在运行时更新相关方面。在你的情况下,这样做:
showStim = visual.ImageStim(window) # initialize the stimulus
for element in cfg.trial_order: #loop through all elements in array trial_order
imageIndex = 0
for imageIndex in range(len(cfg.trials[element].files)):
stimulis = cfg.trials[element].stimuli_folder + '/' + cfg.trials[element].files[imageIndex]
showStim.image = stimulus # update the image
我正在尝试 运行 一个 python 脚本,但出现此错误。 AttributeError: 'list' object has no attribute 'winType'
:
文件实际内容为:
import time
import pylsl
import bci.open_bci_v3 as bci
#from random import random as rand
from pylsl import StreamInfo, StreamOutlet
from psychopy import prefs
prefs.general['audioLib'] = ['pygame']
from psychopy import visual, core, sound
import esys_cfg
NUM_CHANNELS = 8
SAMP_RATE = 100
info = StreamInfo('OpenBCI', 'EEG', NUM_CHANNELS, SAMP_RATE, 'float32', 'myuid34234')
outlet = StreamOutlet(info)
#funtion call to start displaying images
#def displayStimuli
# for file in os.listdir('directory'):
# for i in range(0,len(images)):
# def display(files, .....):
# ex: file_name = ['/dir/dir2/img.png']
window = visual.Window([512, 512])
cfg = esys_cfg.create_config('../stimulus-config/test.yml')
print(cfg.trial_order)
#trial_order = ['one', 'two', 'one']
for element in cfg.trial_order: #loop through all elements in array trial_order
imageIndex = 0
for imageIndex in range(len(cfg.trials[element].files)):
stimulis = cfg.trials[element].stimuli_folder + '/' + cfg.trials[element].files[imageIndex]
showStim = visual.ImageStim(window, stimulis)
showStim.draw([window])
window.flip()
core.wait(2.0)
如何更正此问题和 运行 程序?
因为你只有一个 window 你可以使用:
showStim.window = window # stimulus is now drawn to window
showStim.draw()
如果你有多个window,你可以将相关的window作为参数传递(你的代码中的括号是多余的)。
# Note that this just changes **default** window for stimulus.
showStim.draw(win1)
showStim.draw(win2)
行中出现错误
showStim.draw([window])
应该读作
showStim.draw(window)
如果您只有一个 window,只需
showStim.draw()
在 window 中绘制 showStim
在初始化时作为参数给出。顺便说一句,初始化 psychopy 刺激的计算量很大(很容易需要几百毫秒),因此请在脚本开头执行一次,然后在运行时更新相关方面。在你的情况下,这样做:
showStim = visual.ImageStim(window) # initialize the stimulus
for element in cfg.trial_order: #loop through all elements in array trial_order
imageIndex = 0
for imageIndex in range(len(cfg.trials[element].files)):
stimulis = cfg.trials[element].stimuli_folder + '/' + cfg.trials[element].files[imageIndex]
showStim.image = stimulus # update the image