ファイルに追加されているすべての行を出力するこのワンライナーを使用しようとしています/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 秒ごとにこの線を越えるとどのように想定されますか?