久しぶりに記事を書いてみました。
Pythonでプログレスバーを簡単に表示するためにtqdmモジュールを使用する機会がありました。
tqdmモジュールは簡単に使用できますが、printした場合に表示が崩れてしまいます。
今回はtqdm中にprintで表示が崩れないようにする対処法を備忘録として残しておきます。
tqdmの使い方
まず初めにtqdmの使い方を簡単に紹介します。
main.py
from tqdm import tqdm
import time
for i in tqdm(range(10)):
time.sleep(0.5)
試してみるとプレグレスバーが徐々に進むと思います。
printして表示を崩す
次はプレグレスバーの表示が崩れるところを確認します。
main.py
from tqdm import tqdm
import time
for i in tqdm(range(10)):
print(i)
time.sleep(0.5)
↓のようにプレグレスバーが都度表示されます。
プレグレスバーの制御する位置がprintされることで新しい行になり表示が崩れてしまいます。
tqdm.writeで解決
表示が崩れないようにする方法としてtqdm.writeがあります。
tqdm.writeを使用するとプレグレスバーの上に出力されるため、表示が崩れません。
main.py
from tqdm import tqdm
import time
for i in tqdm(range(10)):
tqdm.write(str(i))
time.sleep(0.5)
問題なく表示されるかと思います。
まとめ
今回はtqdmの簡単な使い方とprintでの表示崩れ対策をまとめてみました。
少しでも役に立つ内容があれば嬉しいです。