• 售前

  • 售后

热门帖子
入门百科

Python的Tqdm模块实现进度条设置

[复制链接]
李墨285 显示全部楼层 发表于 2021-10-25 19:49:16 |阅读模式 打印 上一主题 下一主题
tqdm官网地点:https://pypi.org/project/tqdm/
Github地点:https://github.com/tqdm/tqdm
简介

       Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装恣意的迭代器 tqdm(iterator)。
       总之,它是用来显示进度条的,很漂亮,使用很直观(在循环体里边加个tqdm),而且基本不影响原步伐服从。名副其实的“太强太美”了!如许在写运行时间很长的步伐时,是该多么舒服啊!
给一张GIF图看一下现实效果

安装
  1. pip install tqdm
复制代码
使用

示例一
简单的demo:
  1. # !/user/bin/env python
  2. # -*- coding:utf-8 -*-
  3. import time
  4. from tqdm import tqdm
  5. from tqdm._tqdm import trange
  6. for i in tqdm(range(100)):
  7.   time.sleep(0.01)
复制代码
输出效果如下:

关于tqdm对于range的封装
  1. import time
  2. from tqdm import tqdm
  3. from tqdm._tqdm import trange
  4. for j in trange(100):
  5.   time.sleep(0.1)
复制代码
输出效果如下(同上)

示例二:
对于恣意list的使用
  1. alist = list('letters')
  2. bar = tqdm(alist)
  3. for letter in bar:
  4.   bar.set_description(f"Now get {letter}")
复制代码
输出效果如下:

传入恣意list
  1.   pbar = tqdm(["a", "b", "c", "d"])
  2.   for char in pbar:
  3.     pbar.set_description("Processing %s" % char)
复制代码
手动控制更新
  1. with tqdm(total=100) as pbar:
  2.   for i in range(10):
  3.     pbar.update(10)
  4. # 也可以这样
  5. pbar = tqdm(total=100)
  6. for i in range(10):
  7.   pbar.update(10)
  8. pbar.close()
复制代码
示例三:
联合pandas的使用
  1. import pandas as pd
  2. import numpy as np
  3. df = pd.DataFrame(np.random.randint(0, 100, (10000000, 6)))
  4. tqdm.pandas(desc="my bar!")
  5. df.progress_apply(lambda x: x**2)
复制代码
输出效果如下:

示例四
在Shell的tqdm用法
  1. $ time find . -name '*.py' -exec cat \{} \; | wc -l
  2. 857365
  3. real  0m3.458s
  4. user  0m0.274s
  5. sys   0m3.325s
  6. $ time find . -name '*.py' -exec cat \{} \; | tqdm | wc -l
  7. 857366it [00:03, 246471.31it/s]
  8. 857365
  9. real  0m3.585s
  10. user  0m0.862s
  11. sys   0m3.358s
复制代码
使用的参数:
  1. $ find . -name '*.py' -exec cat \{} \; |
  2.   tqdm --unit loc --unit_scale --total 857366 >> /dev/null
  3. 100%|███████████████████████████████████| 857K/857K [00:04<00:00, 246Kloc/s]
复制代码
备份一个目录:
  1. $ 7z a -bd -r backup.7z docs/ | grep Compressing |
  2.   tqdm --total $(find docs/ -type f | wc -l) --unit files >> backup.log
  3. 100%|███████████████████████████████▉| 8014/8014 [01:37<00:00, 82.29files/s]
复制代码
本文参考:https://blog.csdn.net/langb2014/article/details/54798823?locationnum=8&fps=1
到此这篇关于Python的Tqdm模块实现进度条设置的文章就先容到这了,更多相干Python Tqdm进度条内容请搜索草根技能分享以前的文章或继续浏览下面的相干文章渴望各人以后多多支持草根技能分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作