StopIteration異常錯誤我有一個變量從多個列表拉一條線,我想它避免出現這樣它可以移動到下一行的StopIteration錯誤。此刻,我正在使用中斷功能,這樣可以避免StopIteration,但只給我列表中的第一個項目,並在它後面留下一個空行,如果我打印出來。如何避免蟒蛇
這裏是我的兩個迭代有同樣的問題。
def compose_line5(self, synset_offset, pointer_list):
self.line5 = ''''''
for item in pointer_list:
self.line5 += '''http://www.example.org/lexicon#'''+synset_offset+''' http://www.monnetproject.eu/lemon#has_ptr '''+pointer_list.next()+'''\n'''
break
return self.line5
def compose_line6(self, pointer_list, synset_list):
self.line6 = ''''''
for item in synset_list:
self.line6 += '''http://www.example.org/lexicon#'''+pointer_list.next()+''' http://www.monnetproject.eu/lemon#pos '''+synset_list.next()+'''\n'''
break
return self.line6
這是我沒有得到休息的錯誤:
Traceback (most recent call last):
File "wordnet.py", line 225, in <module>
wordnet.line_for_loop(my_file)
File "wordnet.py", line 62, in line_for_loop
self.compose_line5(self.synset_offset, self.pointer_list)
File "wordnet.py", line 186, in compose_line5
self.line5 += '''http://www.example.org/lexicon#'''+self.synset_offset+''' http://www.monnetproject.eu/lemon#has_ptr '''+self.pointer_list.next()+'''\n'''
StopIteration
是否有一個快速修復這個還是我必須趕上例外每一個方法我用在ITER()?
你爲什麼要調用self.pointer_list.next()並傳入一個pointer_list? – doctorlove
對不起,錯字!反正沒有區別! – Johnnerz
這裏沒有必要三重引用任何東西;你不包括換行符和引用過於冗長。更好的是,使用字符串格式:'http://www.example.org/lexicon# {} http://www.monnetproject.eu/lemon#has_ptr{}\n'.format(synset_offset,pointer_list.next( ))'。 –