gpt4 book ai didi

python - 如何在结束循环之前查看生成器的打印输出?

转载 作者:行者123 更新时间:2023-11-28 22:29:01 25 4
gpt4 key购买 nike

我正在尝试在处理大数据列表的生成器中打印调试信息。但是,我只能在生成器完成后才能看到结果。

我使用的是python 3,我的代码如下:

def generator():
while 1:
print ('.', end='')
time.sleep(1)
yield 1

for a in generator():
print ('|', end='')

结果:

^C.|.|.|.|.|

等效的 PHP7 代码按预期工作:

function generator()
{
while (1) {
echo '.';
sleep(1);
yield 1;
}
}

foreach (generator() as $item) {
echo '|';
}

结果:

.|.|.|.|.|^C

如何在生成器循环的每次迭代中实时打印调试信息?

最佳答案

长话短说:

我相信您有与该问题类似的问题:Print statements not working when serve_forever() is called? (虽然看标题看不出来...)

尝试冲掉你的指纹:

print ('.', end='', flush=True)

print ('|', end='', flush=True)

同花顺

The method flush() flushes the internal buffer, like stdio's fflush. This may be a no-op on some file-like objects.

强制 print() 函数将缓冲到该点的所有内容打印到您机器的stdout

关于python - 如何在结束循环之前查看生成器的打印输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43279486/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com