使用 tqdm 跟踪您的 Python 任务进度: 完整示例教程
推荐超级课程:
@TOC

Python 中的 tqdm 包是一个很好的工具,可以为您的循环添加进度条,使您能够轻松监控任务的进度。本教程将指导您了解 tqdm 的基本使用方法,并展示一些常见用例。
- 安装
tqdm
首先,如果您尚未安装 tqdm,需要先进行安装。您可以使用 pip 进行安装:
pip install tqdm
- 基本使用
tqdm 最常见的用法是包装一个循环以显示进度条。这里有一个简单的例子:
from tqdm import tqdm
import time
for i in tqdm(range(100)):
time.sleep(0.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)
- 与函数一起使用
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)

- 使用
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 函数处理每个项目。
- 嵌套进度条
你可以使用 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)

- 在 Jupyter Notebook 中使用
tqdm
如果你在 Jupyter Notebook 中工作,可以使用 tqdm 与 tqdm.notebook 模块:
注意:需要安装 ipywidgets
pip install ipywidgets
from tqdm.notebook import tqdm
import time
for i in tqdm(range(100)):
time.sleep(0.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
- 结论
tqdm 是一个多功能且易于使用的工具,可以通过提供循环和其他任务进度的实时反馈来增强你的 Python 脚本。无论你是在处理大型数据集、下载文件还是运行复杂模拟,tqdm 都可以帮助你跟踪进度情况。
感谢阅读!如果你发现任何错误或有改进建议,请在下方留言。