在使用Linux命令安装依赖时或者其他的一些命令行的操作,使用进度条可以有很好的美观性,并且可以很直观的看出当前进度,在一些大型项目中,可视化的加载及处理过程可以直观的看出程序的当前进度,使用progressbar进度条控件可以实现该功能。文本进度条通常用于显示长时间运行的操作的进度,以可视方式提示正在进行处理。

一、Progressbar的安装

  1. pip命令安装:pip install progressbar2
  2. pip命令不可用,使用easy_install安装:easy_install progressbar2
  3. Github源码安装或者下载安装:https://pypi.org/project/progressbar2/

二、一些基础的样式例子

1、包装一个简单的迭代

import time
import progressbarfor i in progressbar.progressbar(range(100)):time.sleep(0.02)

2、带有日志的进度条

带有日志记录的进度条需要stderr重定向_before_初始化StreamHandler。 为了确保按时重定向stderr进度,在初始化记录器之前调用progressbar.streams.wrap_stderr()。

import time
import logging
import progressbarprogressbar.streams.wrap_stderr()
logging.basicConfig()for i in progressbar.progressbar(range(10)):logging.error('Got %d', i)time.sleep(0.2)

注释掉progressbar.streams.wrap_stderr()

import time
import logging
import progressbar# progressbar.streams.wrap_stderr()
logging.basicConfig()for i in progressbar.progressbar(range(10)):logging.error('Got %d', i)time.sleep(0.2)

3、包装文本信息

import time
import progressbarwith progressbar.ProgressBar(max_value=100) as bar:for i in range(100):time.sleep(0.1)bar.update(i)

·输出同时打印文本信息

import time
import progressbarfor i in progressbar.progressbar(range(10), redirect_stdout=True):print('Some text', i)time.sleep(0.2)

我测试的效果很乱,感觉哪里有问题,没找到原因

4、未知长度的进度条处理

import time
import progressbarbar = progressbar.ProgressBar(max_value=progressbar.UnknownLength)
for i in range(20):time.sleep(0.1)bar.update(i)

5、自定义进度条

import time
import progressbarwidgets=[' [', progressbar.Timer(), '] ',progressbar.Bar(),' (', progressbar.ETA(), ') ',
]
for i in progressbar.progressbar(range(20), widgets=widgets):time.sleep(0.1)

widgets可选参数含义:

  • 'Progress: ' :设置进度条前显示的文字
  • Percentage() :显示百分比
  • Bar('#') : 设置进度条形状
  • ETA() : 显示预计剩余时间
  • Timer() :显示已用时间

progressbar 自定义样式_Progressbar的简单使用相关推荐

  1. 微博的自定义Android,Android ProgressBar 自定义样式(二),仿原来新浪微博图片加载样式...

    如: 在xml布局文件中设置: android:id="@+id/progressBar1" style="?android:attr/progressBarStyleH ...

  2. android progressbar 水平动画,Android ProgressBar 自定义样式(三),动画模式

    果: 和之前的一样,在布局文件中: android:id="@+id/progressBar3" android:layout_width="wrap_content&q ...

  3. android自定义progressbar样式,Android开发中如何实现自定义ProgressBar的样式

    Android开发中如何实现自定义ProgressBar的样式 发布时间:2020-11-20 16:08:10 来源:亿速云 阅读:294 作者:Leah Android开发中如何实现自定义Prog ...

  4. 自定义ProgressBar(自定义View和ClipDrawable)

    开发中经常需要自定义ProgressBar,这里用了自定义View和ClipDrawable实现简单的ProgressBar 自定义View效果: public class CustomProgres ...

  5. H5 audio 音频标签自定义样式修改以及添加播放控制事件

    20181023 更新 原来的代码拖动进度点只写了mouse事件,手机端的话应该是touch事件.所以出现了有朋友说的移动端无法拖动进度条的问题.现在更新的代码已经加上touch事件,即无论是手机模式 ...

  6. 关于ie,火狐,谷歌浏览器滚动条的隐藏以及自定义样式

    最近做了一个项目,要求各个浏览器统一滚动条的样式,不显示滚动条,但是不影响鼠标的滑动事件. 查了很多资料,ie和谷歌都是可以自定义滚动条样式的,但是ie只能改变颜色,并不能修改宽度,圆角之类的.谷歌就 ...

  7. Java渐变进度条_Android ProgressBar自定义图片进度,自定义渐变色进度条

    java.lang.Object ↳android.view.View ↳android.widget.ProgressBar 直接子类 AbsSeekBar 间接子类 RatingBar, Seek ...

  8. Matplotlib(三) rcParams 自定义样式控制

      在上一篇 python matplotlib入门(二) Matplotlib 作图生命周期 中,其中一个重要环节是 自定义图像(Customizing Matplotlib),从某种角度来讲,其实 ...

  9. Expo大作战(十二)--expo中的自定义样式Custom font,以及expo中的路由RouteNavigation

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

最新文章

  1. js端调用android端同步方法,JS怎样调用Android本地原生方法
  2. Eclipse svn代码提交冲突
  3. 数据结构与算法之递归题目
  4. C语言算小数加减,C语言带小数加减乘除.doc
  5. ArcGIS API for Silverlight中legend控件显示图例问题
  6. Python实现HTTP服务器(四)单进程线程非阻塞实现多任务
  7. 网络安全如何影响seo
  8. CSS实验案例01QQ会员页面导航
  9. 显卡(N卡)内存被占用如何处理?
  10. New Phyto | 沈其荣团队李荣等解析生物有机肥培育抑病土壤的根际菌群抵御病原菌入侵的机制...
  11. FMI飞马网 |【线上直播】持续集成在京东研发的落地及应用
  12. 美国2012年总统候选人政治献金数据分析
  13. arduino 嗡鸣器 音乐_arduino笔记一:用arduino实现蜂鸣器播放音乐
  14. 成都新房二手房房价采集
  15. scons 手册_SCons用户手册 | 学步园
  16. Android图形系统之HWComposer
  17. 方形图片使用QLabel显示成圆形
  18. 利用USGS网站下载Landsat系列影像(个人总结的小技巧,适用新手小白)
  19. 国产数据库发展现状分析
  20. 深圳周边户外活动经典线路----转载

热门文章

  1. 【深度学习】学习深度学习的最好方法
  2. 【机器学习】鸢尾花数据探索
  3. 对PV操作问题的理解综合
  4. EXCEL VBAProject密码破解 工作表密码破解
  5. 三、函数的嵌套、作用域链、函数名的应用、闭包。
  6. linux下mysql数据的导出和导入
  7. [转载]如果看了这篇文章你还不懂傅里叶变换,那就过来掐死我吧
  8. [Jetty]基于Java Servlet的支持WebSocket的服务器
  9. 文本框输入限制正则表达式收集
  10. Unity Application Block 1.0系列(7): Lifetime Managers