У меня есть функция, которая выдает результаты по мере их загрузки. Для целей этого вопроса, скажем, я получаю жало один раз в секунду, но я хочу, чтобы функция удобства обернула мой генератор:
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
...почему это просто не печатает 5 строк, которые я ожидаю? Вместо этого он возвращает функцию генератора:
<generator object GeneratorFunction at 0x020649B8>
Как я могу заставить это выдавать строки, как обычная функция генератора?