使用 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
都可以帮助你跟踪进度情况。
感谢阅读!如果你发现任何错误或有改进建议,请在下方留言。