首页 > 解决方案 > 防止 tqdm 在出错后打印任何内容

问题描述

在 tqdm 循环中处理错误时,我希望将错误消息作为最后打印的内容。一个 MWE:

import tqdm
import sys

for i in tqdm.tqdm(range(10)):

    if i == 3:

        print('error')

        sys.exit(1)

运行此程序时,tqdm 仍会在“错误”消息后打印进度条。是否可以避免这种情况(因此“错误”是最后显示的内容)?

编辑:我实际上是sys.exit从对 tqdm 一无所知的不同外部模块调用的,并且我不想在 tqdm 对象中有一个全局变量。可能是我要求太高了……

干杯。

标签: pythontqdm

解决方案


是的。打电话close()并确保leave是假的。

见:https ://tqdm.github.io/docs/tqdm/#close


推荐阅读