前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Python中优雅地使用进度条?

如何在Python中优雅地使用进度条?

作者头像
lyhue1991
发布2020-07-20 11:52:05
5.2K0
发布2020-07-20 11:52:05
举报

tqdm在Arabic阿拉伯语言中是进度"progress"的意思。使用tqdm模块可以通过进度条的方式非常优雅地显示循环的进度。

通过简单地把tqdm 嵌套在可迭代对象上iterable object, 即可实现监控循环的进度条。

进度条默认显示在标准错误流,即sys.stderr文件流。

下面是一些简单到愚蠢的范例,向您展示了tqdm模块的优雅迷人。

范例1:基本范例

代码语言:javascript
复制
import time
from tqdm import tqdm
for i in tqdm(range(100)):
    time.sleep(0.1)
                                                         

范例2:增加描述

代码语言:javascript
复制
import time
from tqdm import tqdm
pbar = tqdm(["a", "b", "c", "d"])for char in pbar:
    time.sleep(0.25)
    pbar.set_description("Processing %s" % char

范例3:手动更新

代码语言:javascript
复制
import time
from tqdm import tqdm
with tqdm(total=100) as pbar:
    for i in range(10):
        time.sleep(0.1)
        pbar.update(10)

Appendix:手工实现循环进度条

代码语言:javascript
复制
import sys,time

# 进度条函数
def progress_bar(num,total):
    rate = float(num)/total
    ratenum = int(100*rate)
    r = '\r[{}{}]{}%'.format('*'*ratenum,' '*(100-ratenum),ratenum)
    sys.stdout.write(r)
    sys.stdout.flush()

i,n = 0,100
for i in range(n):
    time.sleep(0.1)
    progress_bar(i+1,n)

以上就是Python中使用进度条的简单介绍,赶紧copy代码来试试吧。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法美食屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 范例1:基本范例
  • 范例2:增加描述
  • 范例3:手动更新
  • Appendix:手工实现循环进度条
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档