1

ファイルに追加されているすべての行を出力するこのワンライナーを使用しようとしています/var/log/messages.log

sudo tail -f /var/log/messages.log | python2 -c 'exec("import sys\n\nfor line in sys.stdin:\n\tprint line")'

読みやすくするために、Python コードは次のとおりです。

import sys

for line in sys.stdin:
        print line

に 1 行追加して/var/log/messages.logも、何も表示されません。しかし、大量のデータを追加すると、出力が得られ始めます。

sys.stdinジェネレーターが生成する頻度に関して定義された動作はありdataますか?

PS: 私の最終目標は、1 秒あたりに python プログラムに供給される行数を出力するワンライナーを理解することです。

編集:if t > e:インタプリタが1 秒ごとにこの線を越えるとどのように想定されますか?

4

2 に答える 2