Python 进度条库tqdm
安装
- pip install tqdm
基础
迭代对象的处理
- 对于可以 迭代的对象 都可以使用下面这种方式,来实现可视化进度
from tqdm import tqdm
import time
for i in tqdm(range(100)):
time.sleep(.1)
- 更简洁:
from tqdm import trange
import time
for i in trange(100):
time.sleep(0.1)
- 复杂的用法如下(需要手动更新进度条):
with tqdm(total=100) as pbar:#tqdm方法设置进度条长度
for i inrange(10):
sleep(0.1)
pbar.update(10)#手动更新进度
🌰
#stream=True的作用是仅让响应头被下载,连接保持打开状态
Response = requests.get(url,stream = True)
total = int(Response.headers.get('content-length', 0))
with open(Path_apk, "wb") as file,tqdm(
desc="正在下载",
total=total,
unit='',
unit_scale=True,
unit_divisor=1024,
#colour='yellow'
) as bar:
for data in Response.iter_content(chunk_size=1024):#边下载边存硬盘
size = file.write(data)#写入字符的长度
bar.update(size)
知识点
- 获取Header,使用requests.get()方法,设置连接保持打开;
- 获取文件大小,使用response的‘Content-length’属性;
- 初始化tqdm;
- 分块读取文件并更新进度条,使用iter_content()方法;
tqdm常见参数
- iterable:可迭代的对象 默认None
- total:进度条总长度大小(int or float)默认None
- desc:进度条的前缀内容(str)默认None
- unit:进度条的单位(str)默认 it ,实际表带为 it/s