Python-tqdm

tqdm在阿拉伯语中表示“进步”,是西班牙语(te quiero demasiado)中“我爱你如此深”的缩写。

立即让你的循环显示一个智能进度表-只要用tqdm(iterable)包装任何iterable,你就完成了!

from tqdm import tqdm
for i in tqdm(range(10000)):
    ...

开销很低——每次迭代约60ns(使用Tqdm_GUI时为80ns),并根据性能回归进行单元测试。相比之下,成熟的进度条有800ns/iter开销。
除了它的低开销之外,tqdm还使用智能算法来预测剩余时间,并跳过不必要的迭代显示,这在大多数情况下可以忽略开销。
tqdm可以在任何平台(Linux、Windows、Mac、FreeBSD、NetBSD、Solaris/SunOS)、任何控制台或图形用户界面上工作,并且与ipython/jupyter笔记本电脑也很友好。

Installation

pip install tqdm
pip install -e git+https://github.com/tqdm/tqdm.git@master#egg=tqdm
conda install -c conda-forge tqdm

Usage

from tqdm import tqdm
import time

text = ""
for char in tqdm(["a", "b", "c", "d"]):
    time.sleep(0.25)
    text = text + char

 

Trange(i) 是tqdm(Range(i))的一个特殊优化实例:

for i in trange(100):
    time.sleep(0.01)

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

pbar = tqdm(["a", "b", "c", "d"])
for char in pbar:
    time.sleep(0.25)
    #设置进程的名称
    pbar.set_description("Processing %s" % char)

 Manual

通过使用with语句对tqdm()更新进行手动控制:

# 一共100个,每次更新10,一共更新10次
with tqdm(total=100) as pbar:
    for i in range(10):
        time.sleep(0.1)
        pbar.update(10)

 如果提供了可选变量total(或带有len()的iterable),则会显示预测性统计信息。
with也是可选的(您只需将tqdm()赋给一个变量,但在本例中,不要忘记在末尾使用del或close():

pbar = tqdm(total=100)
for i in range(10):
    time.sleep(0.1)
    pbar.update(10)
pbar.close()

 Module

也许tqdm最美妙的用途是在脚本或命令行中。只需在管道之间插入tqdm(或python-m tqdm),就可以在将进度打印到stderr时将所有stdin传递到stdout。
下面的示例演示了计算当前目录中所有python文件中的行数,其中包括计时信息。

$ time find . -name '*.py' -type f -exec cat \{} \; | wc -l
857365

real    0m3.458s
user    0m0.274s
sys     0m3.325s

$ time find . -name '*.py' -type f -exec cat \{} \; | tqdm | wc -l
857366it [00:03, 246471.31it/s]
857365

real    0m3.585s
user    0m0.862s
sys     0m3.358s

翻译原址:https://pypi.org/project/tqdm/

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值