Ho una funzione che produce risultati mentre vengono scaricati. Ai fini di questa domanda, consente di dire io cedo una puntura ogni secondo ma voglio una funzione convenienza per avvolgere il mio generatore:Come posso ottenere risultati da una funzione di generatore Python annidata?
import time
def GeneratorFunction(max_val):
for i in range(0,5):
time.sleep(1)
yield "String %d"%i
def SmallGenerator():
yield GeneratorFunction(3)
for s in SmallGenerator():
print s
... perché non fa che basta stampare le 5 corde Sono aspettando? Invece sembra restituire il functio generatore:
<generator object GeneratorFunction at 0x020649B8>
Come posso ottenere questo per cedere le corde come una normale funzione di generatore sarebbe?
proposito, in Python 3.3, 'resa da GeneratorFunction (3)' funzionerà .. – DSM
@DSM: Grazie . Ancora non è ancora passata la transizione a 3+ ... –