Ho un pezzo di codice (un parser xls) che esegue qualche convalida sui campi e restituisce con rendimento un generatore che contiene ogni riga di xls.Utilizzo di Yield e restituire un elenco di errori
Ora devo raccogliere gli errori di convalida in un elenco e usarli quando il generatore è esaurito.
Questo è un pezzo di codice che rappresenta il parser e una soluzione progettata scadente.
error_list = []
def gen(limit): #xls parser
for x in range(limit):
if x%2: #fake error contition
error_list.append(x)
else:
yield(x*x) #return
c'è un modo più pioneristico per farlo? non sono un grande fan delle variabili globali.
mi piacerebbe mantenere il codice in quanto è il più possibile, ma se non c'è altro modo i convertiremo la funzione di un classico
def gen(limit): #xls parser
error_list = []
results = []
for x in range(limit):
if x%2: #fake error contition
error_list.append(x)
else:
results.append(x*x)
return results, error_list
@Eric: grazie per la la correzione; le nostre modifiche si sono scontrate, ho incorporato la correzione manualmente. –
C'è un errore di battitura. Dovrebbe essere "XLSParser" invece di "XMLParser". – thefourtheye
funziona come un fascino, grazie! –