次の例のPythonプログラムは、更新プログレスバーを出力します。
progress.py :
import sys
import time
for i in range(100):
sys.stdout.write("\r%3d%%" % (i + 1))
sys.stdout.flush()
time.sleep(.02)
sys.stdout.write("\n")
ただし、次のMakefileを使用してGNU Make(UbuntuのBashから)で実行すると、改行文字が検出されるまで出力がバッファリングされているように見えるため、進行状況の更新は表示されません。念のため、バッファリングされていない出力はPythonに指定されています。
all :
python -u progress.py
makeを使用するときに部分行出力をすぐに表示する方法はありますか?