tqdm-让您的循环显示一个智能进度条的python库

tqdm源自阿拉伯语taqaddum(تقدّم),意为“进步”,是西班牙语中的“我非常爱你”的缩写(te quiero demasiado)。

立即让您的循环显示一个智能进度表-只需用包裹所有可迭代的对象tqdm(iterable),就完成了!

介绍

from tqdm import tqdm

for i in tqdm(range(

...

76%|████████████████████████        | 7568/10000 [00:33<00:10, 229.00it/s]

trange(N)也可以用作的便捷快捷方式 tqdm(range(N))。

它也可以作为带有管道的模块执行:

$ seq 9999999 | tqdm --bytes

75.2MB [00:00, 217MB/s]

9999999

$ tar -zcf - docs/ | tqdm --bytes --total `du -sb docs/ | cut -f1` \

>

32%|██████████▍                      | 8.89G/27.9G [00:42<01:31, 223MB/s]

开销很低-每次迭代约60ns(带有时tqdm.gui为80ns ),并且已针对性能下降进行了单元测试。相比之下,完善的 ProgressBar具有800ns / iter的开销。

除了较低的开销外,还tqdm使用智能算法来预测剩余时间并跳过不必要的迭代显示,这在大多数情况下都可以忽略不计。

tqdm 可在任何平台或GUI中的任何平台(Linux,Windows,Mac,FreeBSD,NetBSD,Solaris / SunOS)上运行,并且还与IPython / Jupyter笔记本电脑友好。

tqdm不需要任何依赖项(甚至不需要curses!),只需Python以及支持carriage return \r和 line feed \n控制字符的环境即可。

用法

tqdm非常通用,可以多种方式使用。下面给出了三个主要方面。

基于迭代

包装tqdm()任何可迭代的对象:

from tqdm import tqdm

from time import sleep

text = ""

for char in tqdm(["a", "b", "c", "d"]):

sleep(0.25)

text = text + char

trange(i)是以下内容的特殊优化实例tqdm(range(i)):

from tqdm import trange

for i in trange(100):

sleep(0.01)

循环外的实例化允许手动控制tqdm():

pbar = tqdm(["a", "b", "c", "d"])

for char in pbar:

sleep(0.25)

pbar.set_description("Processing %s" % char)

(0)

相关推荐

  • 如何使用Python的进度条?

    在使用Python处理比较耗时操作的时候,为了便于观察处理进度,就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况.这对于第三方库非常丰富的Python来说,并不是什么难事. tqdm ...

  • Py之tqdm:tqdm库的简介、安装、使用方法详细攻略

    Py之tqdm:tqdm库的简介.安装.使用方法详细攻略 tqdm库的简介 显示循环的进度条的库.taqadum, تقدّم)在阿拉伯语中的意思是进展.tqdm可以在长循环中添加一个进度提示信息,用 ...

  • 实战:基于OpenCV进行长时间曝光(内含彩蛋)

    重磅干货,第一时间送达 在本文中,我们将学习长时间曝光摄影技术,以及如何使用Python和OpenCV(开源计算机视觉库)对其进行仿真. 一.什么是"长时间曝光"? 直接来自维基百 ...

  • Python100题

    先安装一个库,下文会用 import timefrom tqdm import tqdmfor i in tqdm(range(10000)): time.sleep(.01) 在运行了~ 所有的代码 ...

  • 你必须尝试的20个 Python 库

    Python 是编程领域中最常用的编程语言之一,也是初学者的最佳选择之一.Python 吸引人们的地方在于它的简单性和易用的语法.是一个直译语言,所以它变得更容易发现代码中的错误.它是由 Guido ...

  • wps表格百分比怎么显示颜色-百分比进度条的做法

    当我们在进行一个项目完成度的统计时,会用到完成了百分之多少,如果多个项目对比呢?看完成了百分之多少是不是有些麻烦,我们可以给它加上颜色,也就是百分比进度条,加上颜色后对进度条哪个长哪个短哪个完成多少就 ...

  • 一个超好用的Python库:itertools

    大家好,我是黄同学

  • 豹子养得好不好,可以显示一个动物园有没有良心

    更诡异的是,除了狮子.老虎,别的猫科动物都住在很小的笼舍里面.对比最强烈的就是豹子.往往就在同一个动物园中,狮子.老虎住大花园,豹子委委屈屈地待在一个小笼子里.就更别提那些小型猫科动物的笼舍了. 豹子 ...

  • 汽车仪表显示“一个扳手”,车还能开吗?

    近期有不少车友给大虎悠我送来了询问来信,内容是关于"看到自己的车仪表盘显示有一个扳手",却又不知道代表什么意思,于是来信询问大虎悠,也有车友拍来了照片.那么大虎悠在这里呢依然是会提 ...

  • [html] 第65天 html直接输入多个空格为什么只能显示一个空格?

    今日试题: html直接输入多个空格为什么只能显示一个空格? 此开源项目四大宗旨:勤思考,多动手,善总结,能坚持 <论语>,曾子曰:"吾日三省吾身"(我每天多次反省自己 ...

  • win10电脑网络显示一个球怎么回事

    亲们想知道win10电脑网络显示一个球怎么回事,下面就是小编整理win10电脑网络显示一个球的解决方法,赶紧来看看吧,希望能帮助到大家. 方法一:直接重启 先检查一下网线是否没插好,另外如果当前电脑没 ...

  • 自动驾驶OS,下一个智能汽车风口 | 甲子光年

    自动驾驶OS,是否会诞生中国的"博世"? 作者 | 赵健 编辑 | 杨杨 百年未变的汽车产业正迎来商业模式的重构,而导致这一局面的就是"软件定义汽车". 今年1 ...

  • 购买一个智能晾衣架你可能需要那些攻略?

    当前家用电器不断升级,智能家居生态链这一环节,怎能少了颜值和功能并存的智能晾衣机?购买一个智能晾衣架你可能需要这些攻略. 注意看外表,看物体的时候我们要看表面.最起码表象说得过去了,其他方面的问题还在 ...

  • 苏州,下一个智能汽车行业的“博世“之城

    [编者按]谁都知道,智能汽车是通向未来产业高地的必经之路,无数人为之疯狂. 对于这场有关未来的竞争,我们可以将其一分为二,微观上是市场层面,各个企业公司之间的竞争:宏观上是产业层面,各个城市与地方政府 ...