VSCode交互式窗口中嵌套tqdm进度条无法正常显示问题
VSCode Python交互式窗口中tqdm嵌套进度条修复方案
以下是几个可行的解决方法:
方法1:强制使用终端渲染逻辑
手动指定tqdm输出到标准输出,绕过交互式窗口的ipywidgets渲染限制,代码如下:
import sys from time import sleep from tqdm import tqdm for i in tqdm(range(100), file=sys.stdout): for j in tqdm(range(10), leave=False, file=sys.stdout): sleep(0.1)
该方法让进度条以终端的方式渲染,和你在终端运行时的效果一致。
方法2:使用notebook版tqdm并指定位置参数
使用tqdm.notebook模块,通过position参数固定每个进度条的位置,避免嵌套时被覆盖:
from time import sleep from tqdm.notebook import tqdm for i in tqdm(range(100), position=0): for j in tqdm(range(10), position=1, leave=False): sleep(0.1)
外层进度条固定在位置0,内层固定在位置1,运行时两个进度条会分层显示。
方法3:切换VSCode交互式窗口运行模式
在VSCode的设置中,搜索Python > Interactive: Window Mode,将其值修改为Terminal。这样交互式窗口会直接使用终端环境运行代码,进度条的表现会和终端完全一致。
内容的提问来源于stack exchange,提问作者Jorrit de boer
相关产品推荐
相关产品推荐

