プログラムのループ文の中で計算の途中結果を出力したいけど、
画面につらつらと出力されるのは鬱陶しいなー...という時に便利な、出力を上書きしていく方法です。
サンプルコード
from time import sleep for i in range(10): print('\r', i, end='') sleep(1)
'\r'
は復帰、すなわち行の先頭に戻るという意味の特殊文字(エスケープシーケンス)です。
'\r'
で行の先頭に戻ってi
を出力します。その時に改行されないようにend=''
を指定してやります。
上記のプログラムではiの出力の前に空白ができてしまうので、これがイヤな人は、
print('\r', i, sep='', end='')
もしくはprint('\r{}'.format(i), end='')
と書けばOKです!!