我有以下 Python 3 代码:
from tqdm import tqdm
print("Before")
for _ in tqdm(range(10)): pass
print("After")
我希望得到以下输出到终端:
Before
100%|##########| 10/10 [00:00<?, ?it/s]
After
但是,我得到的是:
100%|##########| 10/10 [00:00<?, ?it/s]
Before
After
即打印输出以相对于我的代码的错误顺序结束。我也尝试sys.flush
在两次调用之前和之后调用print
,只是为了得到以下输出:
Before
100%|##########| 10/10 [00:00<?, ?it/s]After
此外,更改print
为对tqdm.write
行为没有任何影响。
为什么它会以这种意想不到的方式表现?
编辑:这个问题是关于在 tqdm 循环之前或之后使用 print 函数的特定情况。还有其他类似的问题是关于在tqdm 循环中打印消息的,这里不是这种情况。