私は 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()