📜  引导程序4 |进度条(1)

📅  最后修改于: 2023-12-03 15:25:34.975000             🧑  作者: Mango

引导程序4 | 进度条

简介

进度条在程序中用于显示任务的进度,让用户能够了解程序正在做哪些事情以及什么时候才能完成。本文将介绍如何使用Python编写一个简单的进度条。

实现方式

在Python中,可以使用tqdm库来实现进度条的显示。安装tqdm库可以使用以下命令:

pip install tqdm

在使用tqdm时,只需将可迭代对象作为参数传递给tqdm函数,即可获得一个进度条对象。在处理数据时,只需将数据逐个传递给进度条对象,它就会自动更新进度条的显示。

以下是一个例子,演示如何使用tqdm来显示1到10的进度条:

from tqdm import tqdm

for i in tqdm(range(1, 11)):
    # do something

运行上面的代码片段,将会看到如下的进度条:

100%|██████████| 10/10 [00:00<00:00, 10000.00it/s]

其中,“100%”表示进度条已完成,“10/10”表示已处理了10个数据,共10个数据需要处理,“10000.00it/s”表示每秒可以处理10000个数据。

我们也可以根据需要来设定进度条的样式,例如以下代码片段,在进度条中显示自定义文本信息:

from tqdm import tqdm

for i in tqdm(range(1, 11), desc='Processing data'):
    # do something

此时进度条的显示为:

Processing data: 100%|██████████| 10/10 [00:00<00:00, 10000.00it/s]

如果需要在进度条中显示预估剩余时间,可以使用如下代码片段:

from tqdm import tqdm
import time

for i in tqdm(range(1, 11), desc='Processing data', unit='data', unit_scale=True,
              ncols=80, bar_format='{l_bar}{bar}| {n_fmt}/{total_fmt} [{remaining} remaining]'):
    time.sleep(1)

在这里,我们使用了bar_format参数来指定进度条的格式。其中“{l_bar}”表示进度条左侧的文本,这里为“Processing data”;“{bar}”表示进度条的图形表示;“{n_fmt}”表示已处理数据的格式化文本;“{total_fmt}”表示总数据量的格式化文本;“{remaining}”表示预估剩余时间的格式化文本。

结语

本文介绍了如何使用Python中的tqdm库来实现进度条的显示。在编写程序时,我们通常需要在处理大规模数据或者需要花费较长时间的任务时使用进度条,以提高程序的易用性。