如何在一定时间后才显示tqdm进度条?

3
我正在使用 tqdm 来显示方法的进度:
def crunch(u):
    for i in tqdm(u):
        do_work(i)

当我在许多不同的u上频繁调用此方法时,问题就来了,我事先不知道u会有多大。一些u非常小,不需要进度条。最终导致我的控制台输出中出现许多进度条。例如,如果循环运行时间超过1秒钟,我希望tqdm进度条才开始显示。对于少于一秒钟完成的循环,tqdm不应打印任何进度。请问如何实现呢?
1个回答

1
根据 tqdm.tqdm(...) 的文档,有一个特定用途的参数 delay

  • delay: float, optional

    不要在经过 [默认值:0] 秒之前显示。

因此,在您的情况下,您可以这样做:

def crunch(u):
    for i in tqdm(u, delay=1):
        do_work(i)

如果循环运行时间超过1秒,将使用tqdm开始显示。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接