执行前显示的 Tqdm 状态栏

6 python tqdm

我有一个 tqdm 进度条:

print('foo')
for status in tqdm(cursor.items(count)):
    #process status
    pass
Run Code Online (Sandbox Code Playgroud)

我在循环之前打印了一些消息,但进度条显示在它们之前。是否有任何类型的多线程或我该如何解决这个问题?

omr*_*don -1

tqdm 在线程中工作(这很好,因为应用程序不会因为进度条而卡住),因此进度条会在打印之前显示。

由于机器认为打印是一个 IO 操作,因此机器优先考虑 tqdm。

您需要在循环之前和之后睡觉。为此,请time.sleep(x)在循环之前和之后使用 (x 以秒为单位) 来停止问题。请记住import time在代码的开头。尝试不同的 x 值,但 0.1 可能就可以正常工作。

  • 您还可以尝试使用 print 的 `flush` 关键字参数来强制显示,如 `print("foo",flush=True)` (3认同)