首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >tqdm打印到换行符

tqdm打印到换行符
EN

Stack Overflow用户
提问于 2017-01-17 21:22:05
回答 17查看 111.3K关注 0票数 124

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

我怎样才能让它在同一条线上显示进展呢?

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

代码语言:javascript
运行
复制
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'")
EN

Stack Overflow用户

发布于 2019-08-16 23:53:50

下面的内容很麻烦,但似乎可以很好地重置tqdm:

代码语言:javascript
运行
复制
from tqdm import tqdm as tqdm_base
def tqdm(*args, **kwargs):
    if hasattr(tqdm_base, '_instances'):
        for instance in list(tqdm_base._instances):
            tqdm_base._decr_instances(instance)
    return tqdm_base(*args, **kwargs)

有时,以前的输出是在开始时打印的(我不知道如何删除),但我发现它比换行符(特别是长循环中的)烦人得多。

票数 2
EN
查看全部 17 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41707229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档