tqdm が同じ行を更新せずに改行して印刷するのはなぜですか? 質問する

tqdm が同じ行を更新せずに改行して印刷するのはなぜですか? 質問する

私は Python で小さなコマンドライン ゲームに取り組んでおり、tqdm モジュールを使用して進行状況バーを表示しています。進行状況を中断するには、msvcrt モジュールを使用してユーザー入力をリッスンします。中断されると、ユーザーはコマンドライン プロンプトに「restart」と入力して再開できます。進行状況バーが 2 回目に表示されるときは、進行状況で同じ行を更新するのではなく、毎回新しい行が作成されます。

同じ行に進行状況を表示するにはどうすればよいでしょうか?

進捗バーの問題

このコード スニペットは、進行状況バーの使用方法を示しています。

def transfer():
    for i in tqdm.tqdm(range(1000), desc="Transfer progress", ncols=100, bar_format='{l_bar}{bar}|'):
        sleep(.1)
        if msvcrt.kbhit():
            if msvcrt.getwche() == ' ':
                interrupt()
                break

def interrupt():
    type("File transfer interrupted, to restart the transfer, type 'restart'")

ベストアンサー1

position=0とを試してみてくださいleave=True

(ソリューションはGoogle コラボ改行に印刷されないようにするため)

from tqdm import tqdm 
import time

def foo_():
    time.sleep(0.3)
range_ = range(0, 10)
total = len(range_)

with tqdm(total=total, position=0, leave=True) as pbar:
   for i in tqdm((foo_, range_ ), position=0, leave=True):
    pbar.update()

おすすめ記事