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

使用tqdm()库简化你的Python代码中的进度条显示

发布时间:2023-12-18 16:59:20

在Python中,我们经常需要显示代码的运行进度,以便了解代码的执行情况。tqdm库提供了一种简单的方法来创建进度条,以更直观地展示代码的执行进度。

首先,需要确保已经安装了tqdm库。通过以下命令来安装:

pip install tqdm

然后,在代码中导入tqdm库:

from tqdm import tqdm

接下来,我们可以使用tqdm()函数来创建一个进度条。tqdm()函数接受一个可迭代对象,用于指定需要迭代的范围,并返回一个新的可迭代对象,该对象可以用于在循环中更新和显示进度条。

下面是一个简单的例子,展示了如何使用tqdm库来显示一个简单的进度条:

from tqdm import tqdm
import time

# 创建一个范围为100的迭代对象
for i in tqdm(range(100)):
    # 模拟代码运行的延迟
    time.sleep(0.1)

在上面的代码中,我们使用tqdm()函数创建了一个范围为100的迭代对象,并在循环中使用它。在每次迭代时,tqdm会自动更新并显示进度条。我们还通过time.sleep(0.1)函数模拟了代码运行的延迟,以便能够观察到进度条的更新过程。

运行上面的代码,你将看到一个类似下面这样的进度条被显示在终端中:

50%|███████████████████████████▏                | 50/100 [00:05<00:05, 9.63it/s]

进度条的左边显示了当前的进度,右边显示了预计的剩余时间。进度条由若干个方块组成,每个方块表示一个迭代的进度。在每次迭代时,进度条会自动更新,并在相应位置显示方块。

如果有一个已知的迭代对象,你可以使用tqdm()函数将其包装起来。例如,如果你有一个列表,你可以使用tqdm()函数来创建一个新的可迭代对象,该对象可以在循环中更新和显示进度条:

from tqdm import tqdm
import time

# 定义一个列表
my_list = list(range(100))

# 创建一个新的迭代对象
for item in tqdm(my_list):
    # 模拟代码运行的延迟
    time.sleep(0.1)

在上面的代码中,我们使用tqdm()函数将my_list列表包装成了一个新的可迭代对象,并在循环中使用它。在每次循环中,tqdm会自动更新并显示进度条。

除了默认的进度条样式外,tqdm还提供了许多其他样式和选项,以满足不同的需求。你可以使用set_postfix()方法来自定义进度条的显示内容,使用set_description()方法来自定义进度条的描述信息。你还可以通过设置leave参数来决定进度条在代码运行完毕后是否保留在终端中。

总之,tqdm库提供了一个简单而强大的方法来显示代码的进度条。通过简单的几行代码,你可以更直观地了解代码的执行进度,并在代码运行时获取实时的反馈。无论是处理大规模数据集、训练复杂机器学习模型还是执行漫长的计算任务,tqdm都是一个非常实用的工具。