You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

tqdm嵌套循环无进度条显示问题求助

解决嵌套循环中tqdm不显示进度条的问题

直接给你几个可行的解决办法,按顺序尝试即可:

方法1:手动指定进度条格式

给外层和内层的tqdm添加bar_format参数,强制渲染进度条样式:

from tqdm import tqdm
import numpy as np

for j, array in tqdm(enumerate(avgd_waves),
                     desc="Check for nan Values",
                     bar_format="{l_bar}{bar:10}{r_bar}{bar:-10b}"):
    for k, point in tqdm(enumerate(array),
                         desc="Read Individual Array",
                         leave=False,
                         bar_format="{l_bar}{bar:10}{r_bar}{bar:-10b}"):
        if np.isnan(point):
            avgd_waves[j][k] = 0

这个参数直接定义了进度条的显示结构,确保终端能输出可视化进度条。

方法2:强制启用进度条并适配终端宽度

如果方法1无效,试试添加disable=False和dynamic_ncols=True参数:前者强制tqdm不自动禁用进度条,后者自动适配终端宽度避免格式错乱:

for j, array in tqdm(enumerate(avgd_waves),
                     desc="Check for nan Values",
                     disable=False,
                     dynamic_ncols=True):
    for k, point in tqdm(enumerate(array),
                         desc="Read Individual Array",
                         leave=False,
                         disable=False,
                         dynamic_ncols=True):
        if np.isnan(point):
            avgd_waves[j][k] = 0

方法3:适配Jupyter环境

如果是在Jupyter Notebook/Lab中运行,替换成tqdm.notebook.tqdm:

from tqdm.notebook import tqdm

# 后续循环代码保持不变

另外提个小优化:你的代码里np.isnan(point) == True可以简化成np.isnan(point),逻辑完全一致,写法更简洁。

内容的提问来源于stack exchange,提问作者Damocles

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 18:27:42