python - tqdm 打印到换行符

标签 python progress-bar tqdm

我正在使用 python 开发一个小型命令行游戏,我正在使用 tqdm 模块显示进度条。我使用 msvcrt 模块监听用户输入以中断进度。一旦中断,用户可以通过在命令行提示符中输入“restart”来重新启动。第二次显示进度条时,不是用进度更新同一行,而是每次都创建一个新行。

如何让它在同一行显示进度?

Progress bar issue

此代码片段说明了我对进度条的使用。

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'")

最佳答案

试试 position=0leave=True

(在 Google Colab 中工作以避免打印到换行符的解决方案)

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

关于python - tqdm 打印到换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41707229/

相关文章:

javascript - 如何使 Backbone 中的 JQuery 进度栏显示多个 Ajax 调用的进度?

javascript - React-Native:上传照片时的进度条动画

android - 在 android 启动时显示进度条和加载图像

python - 将 tqdm 进度条与 asyncio 结合使用

python - 我可以向 tqdm 进度条添加消息吗?

python - ndb 模型 - 检索有序的属性名称集

python - 解析updateinfo.xml

python - 如何刷新存储的 Google oAuth 凭据

python - 在 Python 中创建\x 单字符十六进制值

python - 合并特定列上的两个大型数据框并显示进度条