所以我们有一个像这样的功能:
def infinite_sequence():
num = 0
while True:
yield num
time.sleep(1)
num += 1
下面的代码:
for num in infinite_sequence():
print(num)
将导致打印此:
0
1
2
3
4
...
现在想象infinite_sequence()在后台运行,我只需要打印实际的num变量。
Ex:运行一分钟后infinite_sequence(),结果应为60
我该怎么做?
我可以建议使用itertools.count()
。至于从应用程序外部访问它,粗略而简单的方法是使用文件来保存值:
for num in itertools.count():
with open('somefile.txt', 'w') as f:
f.write(str(num))
time.sleep(1)
然后您可以从外部读取文件。