其餘迭代我有相互嵌套了幾個圈,我會發布相關的代碼,然後解釋:蟒蛇不是通過陣列
ANN = ['array','of','fourteen','people']
COUNT = 14
for i in range(COUNT):
CNT = i
print CNT
for i in ANN:
ANNOTATOR = i
for row in PRGREADER:
print row
if (ANNOTATOR in row[2]) and (WEEK in row[3]):
if PRGFILE.strip('.csv') not in ANNODAT[CNT][0]:
ANNODAT[CNT][0].append(PRGFILE.strip('.csv'))
這個代碼塊應該讀csv文件(讀入PRGREADER),檢查並查看ANN的當前值和一週數是否在該行上。如果它們是,它將採用該文件的名稱並將其存儲在一個數組中。
我已經將它縮小到實現迭代通過COUNT,它迭代通過ANN,但之後它只通過ANN執行第一次迭代中的其餘代碼,沒有其他人。爲什麼在ANN的第一次迭代之後,這不會執行其他嵌套代碼?
編輯加入PRGREADER
的for filename in os.listdir('progress/'):
if filename.endswith('.csv'):
PRGFILES.append(filename)
for i in PRGFILES:
PRGFILE = i
with open('./progress/' + PRGFILE,'rb') as PROGRESS:
PROGRESS = [element.upper() for element in PROGRESS]
PRGREADER = csv.reader(PROGRESS, delimiter = ',', quotechar = '|')
雖然它不會在ANN的每次迭代中執行其餘代碼,但它會繼續迭代ANN,COUNT,並打開它構建的多個文件以處理。唯一不起作用的是它不會爲ANN的其他迭代執行追加塊。 – saniboy
你可能會隱藏有用的信息,並帶有一些特殊的例外情況。另外'PRGFILE.strip'不會做你認爲它做的事。 –
'PRGREADER'是一個文件對象嗎?文件對象只能迭代一次,除非你在讀完之後再回到開頭。 – Kevin