LoginSignup
0
3

tqdmの中でprintすると表示が崩れる時の対処法

Last updated at Posted at 2023-09-11

久しぶりに記事を書いてみました。
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)

スクリーンショット 2023-09-11 19.39.23.png

試してみるとプレグレスバーが徐々に進むと思います。

printして表示を崩す

次はプレグレスバーの表示が崩れるところを確認します。

main.py
from tqdm import tqdm
import time

for i in tqdm(range(10)):
    print(i)
    time.sleep(0.5)

↓のようにプレグレスバーが都度表示されます。

スクリーンショット 2023-09-11 19.45.28.png
プレグレスバーの制御する位置が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)

スクリーンショット 2023-09-11 19.56.50.png

問題なく表示されるかと思います。

まとめ

今回はtqdmの簡単な使い方とprintでの表示崩れ対策をまとめてみました。
少しでも役に立つ内容があれば嬉しいです。

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3