使用 `tqdm` 跟踪您的 Python 任务进度: 完整示例教程

2025-04-07T17:36:47+08:00 | 2分钟阅读 | 更新于 2025-04-07T17:36:47+08:00

Macro Zhao

使用 tqdm 跟踪您的 Python 任务进度: 完整示例教程

推荐超级课程:

@TOC

在这里插入图片描述

Python 中的 tqdm 包是一个很好的工具,可以为您的循环添加进度条,使您能够轻松监控任务的进度。本教程将指导您了解 tqdm 的基本使用方法,并展示一些常见用例。

  1. 安装 tqdm

首先,如果您尚未安装 tqdm,需要先进行安装。您可以使用 pip 进行安装:

pip install tqdm
  1. 基本使用

tqdm 最常见的用法是包装一个循环以显示进度条。这里有一个简单的例子:

from tqdm import tqdm  
import time  
  
  
for i in tqdm(range(100)):  
    time.sleep(0.1)  # 模拟一个耗时短的任务

这段代码将显示一个随着循环进展而更新的进度条。

在这里插入图片描述

  1. 自定义进度条

您可以根据需要自定义进度条:

  • 更改描述:
from tqdm import tqdm  
import time  
  
  
for i in tqdm(range(100), desc="处理中"):  
    time.sleep(0.1)

在这里插入图片描述

  • 调整条形长度:
from tqdm import tqdm  
import time  
  
for i in tqdm(range(100), desc="处理中", ncols=75):  
    time.sleep(0.1)

在这里插入图片描述

  • 更改更新间隔:
from tqdm import tqdm  
import time  
  
for i in tqdm(range(100), desc="处理中", mininterval=0.5):  
    time.sleep(0.1)
  1. 与函数一起使用 tqdm

你可以使用 tqdm 来追踪处理可迭代对象中项目的函数的进度:

from tqdm import tqdm  
import time  
  
  
def process_item(item):  
    time.sleep(0.1)  
  
items = range(100)  
for item in tqdm(items, desc="Processing Items"):  
    process_item(item)

在这里插入图片描述

  1. 使用 tqdm 与 Pandas

tqdm 可以轻松与 pandas 集成,以追踪操作的进度:

注意:你需要使用 pip 安装 pandas:

pip install pandas
import pandas as pd  
from tqdm import tqdm  
  
  
tqdm.pandas()  
  
df = pd.DataFrame({"A": range(100)})  
df['B'] = df['A'].progress_apply(lambda x: x**2)

这将显示一个进度条,因为 apply 函数处理每个项目。

  1. 嵌套进度条

你可以使用 tqdm 创建嵌套进度条以处理更复杂的任务:

from tqdm import tqdm  
import time  
  
  
for i in tqdm(range(10), desc="Outer Loop"):  
    for j in tqdm(range(100), desc="Inner For Loop", leave=False):  
        time.sleep(0.01)

在这里插入图片描述

  1. 在 Jupyter Notebook 中使用 tqdm

如果你在 Jupyter Notebook 中工作,可以使用 tqdmtqdm.notebook 模块:

注意:需要安装 ipywidgets

pip install ipywidgets
from tqdm.notebook import tqdm  
import time  
  
  
for i in tqdm(range(100)):  
    time.sleep(0.1)
  1. 跟踪文件下载

tqdm 通常用于监控文件下载。以下是一个使用 requests 的示例:

pip install requests
import requests  
from tqdm import tqdm  
  
url = "https://example.com/largefile.zip"  
response = requests.get(url, stream=True)  
  
total_size = int(response.headers.get('content-length', 0))  
block_size = 1024  # 1 Kibibyte  
  
with open("largefile.zip", "wb") as file, tqdm(  
    desc="Downloading",  
    total=total_size,  
    unit='iB',  
    unit_scale=True,  
    unit_divisor=1024,  
) as bar:  
    for data in response.iter_content(block_size):  
        bar.update(len(data))  
        file.write(data)

注意:你需要使用 pip 安装 requests

  1. 结论

tqdm 是一个多功能且易于使用的工具,可以通过提供循环和其他任务进度的实时反馈来增强你的 Python 脚本。无论你是在处理大型数据集、下载文件还是运行复杂模拟,tqdm 都可以帮助你跟踪进度情况。

感谢阅读!如果你发现任何错误或有改进建议,请在下方留言。

© 2011 - 2025 Macro Zhao的分享站

关于我

如遇到加载502错误,请尝试刷新😄

Hi,欢迎访问 Macro Zhao 的博客。Macro Zhao(或 Macro)是我在互联网上经常使用的名字。

我是一个热衷于技术探索和分享的IT工程师,在这里我会记录分享一些关于技术、工作和生活上的事情。

我的CSDN博客:
https://macro-zhao.blog.csdn.net/

欢迎你通过评论或者邮件与我交流。
Mail Me

推荐好玩(You'll Like)
  • AI 动·画
    • 这是一款有趣·免费的能让您画的画中的角色动起来的AI工具。
    • 支持几十种动作生成。
我的项目(My Projects)
  • 爱学习网

  • 小乙日语App

    • 这是一个帮助日语学习者学习日语的App。
      (当然初衷也是为了自用😄)
    • 界面干净,简洁,漂亮!
    • 其中包含 N1 + N2 的全部单词和语法。
    • 不需注册,更不需要订阅!完全免费!
  • 小乙日文阅读器

    • 词汇不够?照样能读日语名著!
    • 越读积累越多,积跬步致千里!
    • 哪里不会点哪里!妈妈再也不担心我读不了原版读物了!
赞助我(Sponsor Me)

如果你喜欢我的作品或者发现它们对你有所帮助,可以考虑给我买一杯咖啡 ☕️。这将激励我在未来创作和分享更多的项目和技术。🦾

👉 请我喝一杯咖啡

If you like my works or find them helpful, please consider buying me a cup of coffee ☕️. It inspires me to create and share more projects in the future. 🦾

👉 Buy me a coffee