大きなリストのデータを扱うジェネレータ内でデバッグ情報を出力しようとしています。しかし、ジェネレータが終了したときだけ結果を見ることができます。サイクルを終了する前に発電機からのプリント出力を確認するには?
私は、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
ジェネレータのサイクルの繰り返しごとにリアルタイムでデバッグ情報を出力するにはどうすればよいですか?
ジョン(ありがとう、9分後に回答となる) – kivagant
問題なし –