如何使用tqdm模块在Python中实现进度条显示?

2026-05-17 00:371阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计769个文字,预计阅读时间需要4分钟。

如何使用tqdm模块在Python中实现进度条显示?

在计算密集型迭代计算中,我们通常需要知道当前的迭代轮次。最传统的方法是打印当前迭代计数器的值。那么,有没有更好的方法呢?

我们可以使用`tqdm`模块(非Python内置,需单独安装)来优化这个过程。`tqdm`可以显示一个进度条,直观地展示迭代进度。

如何使用tqdm模块在Python中实现进度条显示?

在计算密集型迭代计算中,我们常常需要知道当前的迭代轮次,最传统的方法就是打印当前迭代计数器的轮数。那有没有更好的方法呢?我们可以使用tqdm模块(非py内置,需要单独按照)来在控制台绘制进度条,这样更加直观。最简单的一种方法是直接做为迭代器使用,还有一种稍复杂的方法,就是自定义进度条计数器的更新。

在计算密集型迭代计算中,我们常常需要知道当前的迭代轮次,最传统的方法就是打印当前迭代计数器的轮数。那有没有更好的方法呢?我们可以使用tqdm模块(非py内置,需要单独按照)来在控制台绘制进度条,这样更加直观。

最简单的一种方法是直接做为迭代器使用:

from tqdm import tqdm from time import sleep n_rounds = 10 for i in tqdm(range(n_rounds)): sleep(1)

可以看到,循环每迭代一次,进度条就会+10%(我们这里按enter键换行显示):

0%| | 0/10 [00:00<?, ?it/s] 10%|█████▉ | 1/10 [00:01<00:09, 1.00s/it] 20%|███████████▊ | 2/10 [00:02<00:08, 1.00s/it] 30%|█████████████████▋ | 3/10 [00:03<00:07, 1.00s/it] 40%|███████████████████████▌ | 4/10 [00:04<00:06, 1.00s/it] 50%|█████████████████████████████▌ | 5/10 [00:05<00:05, 1.00s/it] 60%|███████████████████████████████████▍ | 6/10 [00:06<00:04, 1.00s/it] 70%|█████████████████████████████████████████▎ | 7/10 [00:07<00:03, 1.00s/it] 80%|███████████████████████████████████████████████▏ | 8/10 [00:08<00:02, 1.00s/it] 90%|█████████████████████████████████████████████████████ | 9/10 [00:09<00:01, 1.00s/it] 100%|██████████████████████████████████████████████████████████| 10/10 [00:10<00:00, 1.00s/it]

还有一种稍复杂的方法,就是自定义进度条计数器的更新。比如下面我们规定迭代到一个奇数则进度条计数器+1,迭代到5个奇数进度条计数器满。

from tqdm import tqdm from time import sleep n_rounds = 10 n_odd = 5 pbar = tqdm(total=n_odd) for i in range(n_rounds): sleep(1) if i % 2 == 1: pbar.update(1)

可以看到,每迭代到一个奇数,进度条就会+20%(我们这里按enter键换行显示)。

0%| | 0/5 [00:00<?, ?it/s] 20%|████████████ | 1/5 [00:02<00:08, 2.01s/it] 40%|████████████████████████ | 2/5 [00:04<00:06, 2.01s/it] 60%|████████████████████████████████████ | 3/5 [00:06<00:04, 2.01s/it] 80%|████████████████████████████████████████████████ | 4/5 [00:08<00:02, 2.00s/it] 100%|████████████████████████████████████████████████████████████| 5/5 [00:10<00:00, 2.16s/it] 参考

  • [1] tqdm.github.io/
数学是符号的艺术,音乐是上界的语言。

本文共计769个文字,预计阅读时间需要4分钟。

如何使用tqdm模块在Python中实现进度条显示?

在计算密集型迭代计算中,我们通常需要知道当前的迭代轮次。最传统的方法是打印当前迭代计数器的值。那么,有没有更好的方法呢?

我们可以使用`tqdm`模块(非Python内置,需单独安装)来优化这个过程。`tqdm`可以显示一个进度条,直观地展示迭代进度。

如何使用tqdm模块在Python中实现进度条显示?

在计算密集型迭代计算中,我们常常需要知道当前的迭代轮次,最传统的方法就是打印当前迭代计数器的轮数。那有没有更好的方法呢?我们可以使用tqdm模块(非py内置,需要单独按照)来在控制台绘制进度条,这样更加直观。最简单的一种方法是直接做为迭代器使用,还有一种稍复杂的方法,就是自定义进度条计数器的更新。

在计算密集型迭代计算中,我们常常需要知道当前的迭代轮次,最传统的方法就是打印当前迭代计数器的轮数。那有没有更好的方法呢?我们可以使用tqdm模块(非py内置,需要单独按照)来在控制台绘制进度条,这样更加直观。

最简单的一种方法是直接做为迭代器使用:

from tqdm import tqdm from time import sleep n_rounds = 10 for i in tqdm(range(n_rounds)): sleep(1)

可以看到,循环每迭代一次,进度条就会+10%(我们这里按enter键换行显示):

0%| | 0/10 [00:00<?, ?it/s] 10%|█████▉ | 1/10 [00:01<00:09, 1.00s/it] 20%|███████████▊ | 2/10 [00:02<00:08, 1.00s/it] 30%|█████████████████▋ | 3/10 [00:03<00:07, 1.00s/it] 40%|███████████████████████▌ | 4/10 [00:04<00:06, 1.00s/it] 50%|█████████████████████████████▌ | 5/10 [00:05<00:05, 1.00s/it] 60%|███████████████████████████████████▍ | 6/10 [00:06<00:04, 1.00s/it] 70%|█████████████████████████████████████████▎ | 7/10 [00:07<00:03, 1.00s/it] 80%|███████████████████████████████████████████████▏ | 8/10 [00:08<00:02, 1.00s/it] 90%|█████████████████████████████████████████████████████ | 9/10 [00:09<00:01, 1.00s/it] 100%|██████████████████████████████████████████████████████████| 10/10 [00:10<00:00, 1.00s/it]

还有一种稍复杂的方法,就是自定义进度条计数器的更新。比如下面我们规定迭代到一个奇数则进度条计数器+1,迭代到5个奇数进度条计数器满。

from tqdm import tqdm from time import sleep n_rounds = 10 n_odd = 5 pbar = tqdm(total=n_odd) for i in range(n_rounds): sleep(1) if i % 2 == 1: pbar.update(1)

可以看到,每迭代到一个奇数,进度条就会+20%(我们这里按enter键换行显示)。

0%| | 0/5 [00:00<?, ?it/s] 20%|████████████ | 1/5 [00:02<00:08, 2.01s/it] 40%|████████████████████████ | 2/5 [00:04<00:06, 2.01s/it] 60%|████████████████████████████████████ | 3/5 [00:06<00:04, 2.01s/it] 80%|████████████████████████████████████████████████ | 4/5 [00:08<00:02, 2.00s/it] 100%|████████████████████████████████████████████████████████████| 5/5 [00:10<00:00, 2.16s/it] 参考

  • [1] tqdm.github.io/
数学是符号的艺术,音乐是上界的语言。