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
posted @ 2022-04-21 00:58  青山原  阅读(348)  评论(0编辑  收藏  举报