python的进度条展示库
tqdm
是一个在Python中用于显示进度条的库,特别适合在长时间运行的循环或迭代操作中提供可视化反馈。以下是其详细使用方法:
一、安装tqdm
通过pip安装
pip install tqdm
验证安装:
from tqdm import tqdm
print(tqdm.__version__) # 输出当前版本,如"4.64.1"
二、基本用法
在循环中使用tqdm
包裹可迭代对象,自动显示进度条:
from tqdm import tqdm
import time
for i in tqdm(range(100)): # 100次迭代
time.sleep(0.1) # 模拟耗时操作
三、自定义进度条样式
1.修改描述(desc)和后缀(postfix)
for i in tqdm(range(100), desc="Processing", postfix={"batch": 5}):
time.sleep(0.1)
2.调整进度条长度(ncols):
for i in tqdm(range(100), ncols=50): # 设置长度为50字符
time.sleep(0.1)
3.自定义格式(bar_format):
bar_format = "{l_bar}{bar}| {n_fmt}/{total_fmt} [{elapsed}<{remaining}]"
for i in tqdm(range(100), bar_format=bar_format):
time.sleep(0.1)
四、手动更新进度条
适用于非循环场景(如文件下载):
from tqdm import tqdm
import time
with tqdm(total=100) as pbar: # 总进度设为100
for i in range(10):
time.sleep(0.5) # 模拟耗时操作
pbar.update(10) # 每次更新10%
五、结合其他库使用,如requests
1.文件下载(结合requests):
import requests
from tqdm import tqdm
url = "https://example.com/large_file.zip"
response = requests.get(url, stream=True)
total_size = int(response.headers.get("content-length", 0))
with tqdm(total=total_size, unit="B", unit_scale=True) as pbar:
with open("large_file.zip", "wb") as f:
for data in response.iter_content(chunk_size=1024):
f.write(data)
pbar.update(len(data))
2.Pandas集成:
from tqdm import tqdm
import pandas as pd
tqdm.pandas() # 启用Pandas集成
df = pd.DataFrame({"A": range(1000)})
df["A_squared"] = df["A"].progress_apply(lambda x: x**2) # 显示进度条