我有一个图像列表,我想在'='符号处分割它们的名字。python/psychopy:for循环来分割图像名称
例如来自:
'set_one-C:\Users\Documents\stim\01=aa.png'
到
'aa.png'
我试图创建一个“for循环”通过列表中的每一项运行,进而分裂的名字。尽管在控制台中没有错误,名称似乎不会被拆分。
这里是我的代码和循环:
imgList1 = glob.glob(os.path.join('C:\Users\Documents\stim','*.png'))
set_one = [visual.ImageStim(win, img, name='set_one-' + img) for img in imgList1[:8]]
set_two = [visual.ImageStim(win, img, name='set_two-' + img) for img in imgList1[8:16]]
sets = [set_one, set_two]
a1 = sets[0][0]
a2 = sets[0][1]
a3 = sets[0][2]
a4 = sets[0][3]
a5 = sets[0][4]
a6 = sets[0][5]
a7 = sets[0][6]
a8 = sets[0][7]
list = [a1,a2,a3,a4,a5,a6,a7,a8]
print a1
for item in list:
item = item.name.split('=')[1]
print a1
>>ImageStim(autoLog=True, color=array([ 1., 1., 1.]), colorSpace='rgb', contrast=1.0, depth=0, flipHoriz=False, flipVert=False, image=str(...), interpolate=False, mask=None, maskParams=None, name=str(...), opacity=1.0, ori=0.0, pos=array([ 0., 0.]), size=array([ 18.36534845, 11.47834278]), texRes=128, units='deg', win=Window(...))
>>ImageStim(autoLog=True, color=array([ 1., 1., 1.]), colorSpace='rgb', contrast=1.0, depth=0, flipHoriz=False, flipVert=False, image=str(...), interpolate=False, mask=None, maskParams=None, name=str(...), opacity=1.0, ori=0.0, pos=array([ 0., 0.]), size=array([ 18.36534845, 11.47834278]), texRes=128, units='deg', win=Window(...))
我知道我可以简单地单独割裂开来是这样的:
a1 = a1.name.split('=')[1]
a2 = a2.name.split('=')[1] etc..
print a1
>>aa.png
但我确实需要这种由于自动化,以分裂的量我需要去做。我不确定为什么for循环不会从列表中分割每个图像的名称。
谢谢你,史蒂夫
什么是你的for循环中的'list'?结构项目是否具有“name”属性? – MooingRawr
对不起,这是图片列表,我刚刚编辑了我原来的帖子。是的,每个图像都具有“名称”属性。 – Steve