Python3 進捗の更新表示
python で for文を回しているときなど、進捗を更新表示したいときは次のように書く。
for n in range(500): sys.stdout.write("\r%d" %n) sys.stdout.flush()
少し説明する。
sys.stdout.write()
printとの違いは、最後に改行されないこと。
"\r"
出力を行の先頭にする。これにより、前に出力した数字への上書きを行っている。
"%d" %n
数字nを整数として表示。小数や文字にしてもいいし、式にしてもいい。
sys.stdout.flush()
表示を更新する。書かないと、「必ず表示を更新する」ことが行われない。
以上、簡単に書くときはprintでいいが、大量のデータを処理するときとかは割と必要になる。しかし、覚えるのはなかなか面倒。ここで書いたくらいのことを理解していれば使いこなせると思う。