我有一個圖像列表,我想在'='符號處分割它們的名字。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