今天突然被问了一个问题:程序在执行中很久不结束是怎么回事?看不到程序执行的进度,在我们进行大工程的时候的确是一件很头疼的事,本文让我们来了解一个很常用的进度条展示小工具——Progressbar。
注:最新版的使用者不要照着GitHub上的官方文档去操作,文档信息没有维护,会出现很多问题。
下载模块
pipinstallprogressbar
注意:安装模块的时候可能会出现warning,耐心等待,总会出现success。
简单的使用方法
importtime fromprogressbarimport* total=1000 deftest_func(): time.sleep(0.01) progress=ProgressBar() foriinprogress(range(1000)): test_func()
对于简单的循环函数而言,我们只需要把它加在我们组合了progress方法的循环下就可以了。
我们会看到如下的进度条:
放在循环外定义使用
#-*-coding=utf-8-*- from__future__importdivision importsys,time fromprogressbarimport* total=1000 deftest_func(): time.sleep(0.01) bar=ProgressBar().start() foriinrange(1000): bar.update(int((i/(total-1))*100)) test_func() bar.finish()
注意:不要忽略了start()和fininsh()否则会出现问题。
多层信息的展示使用
#-*-coding=utf-8-*- importtime fromprogressbarimport* total=1000 deftest_func(): time.sleep(0.01) widgets=[ 'Progress:', Percentage(),'', Bar('#'),'', Timer(),'', ETA(),'', FileTransferSpeed() ] bar=ProgressBar(widgets=widgets,maxval=10*total).start() foriinrange(total): bar.update(10*i+1) test_func() bar.finish()
结果如下:
参数说明:
'Progress: ' :设置进度条前显示的文字
Percentage() :显示百分比
Bar('#') :设置进度条形状
ETA() :显示预计剩余时间
Timer() :显示已用时间
更多Python知识,请关注Python视频教程!!
下一篇