tqdm 单行刷新解决多行输出问题

2024-07-12 12:12:07 浏览数 (3)

在使用 tqdm 可视化处理进度时,遇到进度条多行输出的问题,使得输出界面很凌乱不美观。

代码语言:txt复制
 for i in tqdm(range(0, len(contents), batch_size)):
     ....

如下图所示

tqdm多行输出tqdm多行输出

可尝试的方法有:

  1. 更新tqdm
代码语言:txt复制
pip install -upgrade tqdm
  1. 可以设置 position 和 leave 参数改变输出形式。另外部分博客提到设置输出宽度 ncol ,博主实验后发现并没有变化。
代码语言:javascript复制
 for i in tqdm(range(0, len(contents), batch_size),position=0,leave=True,ncols=100):
     ....
  1. 设置 unit
代码语言:txt复制
from tqdm import tqdm
import time

# 示例循环
for _ in tqdm(range(100), desc="Processing", ncols=80, unit="iteration"):
    time.sleep(0.1)  # 模拟一个耗时操作
  1. 使用 pbar
代码语言:txt复制
from tqdm import tqdm
import time

# 创建一个tqdm对象
pbar = tqdm(total=100)

# 在循环中更新进度条
for i in range(100):
    time.sleep(0.1)  # 模拟耗时操作
    pbar.update(1)  # 更新进度条
    pbar.set_postfix({'progress': f'{i 1}/100'}, refresh=True)

pbar.close()

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

邀请人:千万别过来

0 人点赞