前提
python tqdmライブラリにてプログレスバーを使った簡単なコンソールアプリケーションを作成しています。
Windows環境にてバッチファイルからpython実行しています。
2つの処理にプログレスバーを設けて、続けて処理を実行すると、2つ目のプログレスバーの表示が崩れてしまいます。
下記テストプログラム中のbar1が完了していない状態になっているのではないかと憶測しますが、対策はございますでしょうか。
ソースコード
python
■tqdmtest.py import time from tqdm import tqdm def test(): bar1 = tqdm(range(10), desc="bar1") for i in range(10): time.sleep(0.1) bar1.update(1) bar2 = tqdm(range(10), desc="bar2") for i in range(10): time.sleep(0.1) bar2.update(1) test()
コンソール表示
output
C:\Users\user1\Desktop\test\tqdmtest>python tqdmtest.py bar1: 100%|████████████████████████████████████████████████████████████████████████████| 10/10 [00:01<00:00, 9.27it/s] bar2: 0%| | 0/10 [00:00<?, ?it/s] bar2: 10%|███████▋ | 1/10 [00:00<00:00, 9.41it/s] bar2: 20%|███████████████▍ | 2/10 [00:00<00:00, 9.31it/s] bar2: 30%|███████████████████████ | 3/10 [00:00<00:00, 9.26it/s] bar2: 40%|██████████████████████████████▊ | 4/10 [00:00<00:00, 9.22it/s] bar2: 50%|██████████████████████████████████████▌ | 5/10 [00:00<00:00, 9.24it/s] bar2: 60%|██████████████████████████████████████████████▏ | 6/10 [00:00<00:00, 9.23it/s] bar2: 70%|█████████████████████████████████████████████████████▉ | 7/10 [00:00<00:00, 9.19it/s] bar2: 80%|█████████████████████████████████████████████████████████████▌ | 8/10 [00:00<00:00, 9.21it/s] bar2: 90%|█████████████████████████████████████████████████████████████████████▎ | 9/10 [00:00<00:00, 9.23it/s] bar1: 100%|████████████████████████████████████████████████████████████████████████████| 10/10 [00:02<00:00, 4.61it/s] bar2: 100%|████████████████████████████████████████████████████████████████████████████| 10/10 [00:01<00:00, 9.24it/s]
実現したいこと
bar2のプログレスバーが改行せずに表示される
output
C:\Users\user1\Desktop\test\tqdmtest>python tqdmtest.py bar1: 100%|████████████████████████████████████████████████████████████████████████████| 10/10 [00:01<00:00, 9.27it/s] bar2: 100%|████████████████████████████████████████████████████████████████████████████| 10/10 [00:01<00:00, 9.24it/s]
まだ回答がついていません
会員登録して回答してみよう