我有一个函数可以在下载结果时产生结果。出于这个问题的目的,假设我每秒产生一次刺痛,但我想要一个方便的函数来包装我的生成器:
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>
我怎样才能让它像普通的生成器函数一样产生字符串?