MOテクノロジー

技術をメモしていくブログ

Pythonで超簡易プログレスバー的な

Pythonプログレスバーを出したい用件があったので調べてみた。
それ用のライブラリもあるみたいだけど、事情によりpip installすることの敷居が高かったので標準ライブラリだけで実装できないか調べてみた。
とりあえずキャリッジリターンとprint関数だけで1行で行ける。

import time

max = 22 # 全体の数
for i in range(1+max):
    print(f'\r{i/max*100:.3f} %', end='')
    time.sleep(0.1)
print()

f:id:komepea:20200615224550g:plain:w500
progress_bar

ちな2系バージョンの一例もメモ。

import sys
import time

max = 22
for i in range(1+max):
    sys.stdout.write('\r{:.3f} %'.format(float(i)/max*100))
    sys.stdout.flush()
    time.sleep(0.1)
print('')