我得到了一個變量賦值錯誤,顯然沒有理解一些東西,但從我的代碼中,我不明白為什么會發生這種情況。代碼: def something(filename): with open("tmp/"+filename.stem+".txt", "r") as infile: # opening the tmp file for scraping the data readfile = infile.readlines() #reads the infile lne by line and returns a list containing the lines for i, line in enumerate(readfile[1:], 1): # looping over all the lines in the file from position 1 (so skipping 0) to avoid circular feedback if 'Overview' in line: start = i continue for i, line in enumerate(readfile[1:], 1): if 'Identified secondary metabolite regions using strictness' in line: end = i marker = list(map(lambda s: s.strip('\n'), readfile[start + 1:end])) # stripping the '\n' off every element in the list. map executes a function for each element in a sequence for i, line in enumerate(readfile[1:], 1): # looping over all the lines in the file from position 1 (so skipping 0) to avoid circular feedback for location in marker:錯誤:UnboundLocalError: local variable 'marker' referenced before assignment由于第一個 forloop 在第二個 forloop 之前執行導致被設置,因此不應始終在函數范圍內進行賦值?markermarker其次,使用兩個for循環似乎很混亂,我如何在一個for循環中執行此操作?
3 回答

忽然笑
TA貢獻1806條經驗 獲得超5個贊
marker
在不滿足條件時未設置。設置在開頭。if 'Identified secondary metabolite regions using strictness' in line:
marker = []
添加回答
舉報
0/150
提交
取消