欢迎访问宙启技术站
智能推送

Python进度条库tqdm的基本用法

发布时间:2023-12-11 11:00:24

tqdm 是一个用于显示进度条的 Python 库,可以在循环中方便地显示任务的进度。它提供了简单易用的接口,可以根据任务的完成情况动态地更新进度条。

使用 tqdm 非常简单,只需安装并导入库,然后将要遍历的可迭代对象传递给 tqdm 函数,它会自动显示进度条并更新进度。

下面是一个使用 tqdm 的示例:

from tqdm import tqdm
import time

# 创建一个可迭代对象,如 range(n) 或一个列表
data = range(10)

# 使用 tqdm 函数包装可迭代对象
for item in tqdm(data):
    # 模拟耗时操作
    time.sleep(0.1)

上面的代码中,我们使用 tqdm 函数包装了一个 range(10) 的可迭代对象,并在循环中打印每个元素。为了使进度条更新得更明显,我们使用 time.sleep(0.1) 模拟了一个耗时操作。

运行上述代码,将会看到一个进度条动态更新,表示任务的完成情况。下面是运行结果的示例:

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

从进度条中可以看出,任务已经完成了 100% ,总共处理了 10 个元素。

除了基本的使用方法,tqdm 提供了许多其他的功能和参数,以满足更复杂的需求。下面是一些常用的参数和功能:

- desc:进度条的描述文字。

- total:任务的总数。当使用可迭代对象时,可以指定总数,以便显示百分比。

- unit:进度条的单位。可以是任何字符串。

- unit_scale:单位的缩放系数。

- ncols:进度条的宽度。

- bar_format:设置进度条的显示格式。

下面是一个使用了一些参数的示例:

from tqdm import tqdm
import time

data = range(10)

# 设置进度条的描述文字和宽度
for item in tqdm(data, desc='Processing', ncols=80):
    time.sleep(0.1)

上面的代码中,我们设置了进度条的描述文字为 'Processing' ,并将进度条的宽度限制在 80 个字符。

此外,tqdm 还提供了一个方便的上下文管理器接口,用于自动管理进度条的创建和关闭。下面是使用上下文管理器的示例:

from tqdm import tqdm
import time

data = range(10)

# 使用上下文管理器接口
with tqdm(data) as pbar:
    for item in pbar:
        time.sleep(0.1)

上面的代码中,我们使用了 with 语句来创建进度条,并在循环中更新进度。当程序退出 with 语句块时,进度条会自动关闭。

以上就是 tqdm 库的基本用法和一些常用功能的介绍。tqdm 是一个非常方便的库,可以帮助我们实时地显示任务的进度,提高代码的可读性和可理解性。如果你需要在 Python 中使用进度条来显示任务的完成情况,推荐使用 tqdm。