Python制作进度条,原来有这么多方法_python做进度条

import IncrementalBarmylist = [1,2,3,4,5,6,7,8]
bar = IncrementalBar( Countdown , max = len(mylist))
for item in mylist: 
  bar.next() 
  time.sleep(1) 
  bar.finish()


Progress 实现的进度条效果如下:


Progressbar 的增量进度条


如果你不喜欢该进度条的格式,还可以从以下格式中挑选:


ProgressBar 支持的进度条类型。


相关文档:https://pypi.org/project/progress/1.5/


### **tqdm**



下面我们看一下 tqdm 库。


和之前见过的库差不多,这两行代码也非常相似,在设置方面有一点点不同:



import timefrom tqdm 
import tqdmmylist = [1,2,3,4,5,6,7,8]
for i in tqdm(mylist): 
  time.sleep(1)


tqdm 实现的进度条效果如下:



![图片](https://img-blog.csdnimg.cn/img_convert/769416da49824d9d7312c142bbed9b05.gif)


这个进度条也提供了几种选项。


相关文档:https://tqdm.github.io/


### **Alive Progress**



顾名思义,这个库可以使得进度条变得生动起来,它比原来我们见过的进度条多了一些动画效果。


从代码角度来说比较相似:



from alive_progress import alive_barimport 
timemylist = [1,2,3,4,5,6,7,8]
with alive_bar(len(mylist)) as bar: 
  for i in mylist: 
    bar() 
    time.sleep(1)


进度条的外观和预期差不多:



![图片](https://img-blog.csdnimg.cn/img_convert/fcff4d32dd4624816ee73d90310c4745.gif)


这种进度条有一些与众不同的功能,使用起来会比较有趣,功能详情可见项目:https://github.com/rsalmei/alive-progress


### **PySimpleGUI**



**用 PySimpleGUI 得到图形化进度条**


我们可以加一行简单的代码,在命令行脚本中得到图形化进度条。



![图片](https://img-blog.csdnimg.cn/img_convert/3836b337d3cd7b7444ee512c33c25d3b.gif)


为了实现上述内容,我们需要的代码是:



import PySimpleGUI as sgimport 
timemylist = [1,2,3,4,5,6,7,8]
for i, item in enumerate(mylist): 
  sg.one_line_progress_meter( This is my progress meter! , i+1, len(mylist),  -key- ) 
  time.sleep(1)


PySimpleGUI 应用程序中的进度条项目作者之前曾经在 GitHub 上讨论过「如何快速启动 Python UI,然后使用 UI 创建比较工具」。


在这个项目里,作者还讨论了一下如何集成进度条。



![图片](https://img-blog.csdnimg.cn/img_convert/ef0c8456b275a5ba654cac6a0aeeeaee.gif)


代码如下:



import PySimpleGUI as sgimport 
timemylist = [1,2,3,4,5,6,7,8]
progressbar = [ [sg.ProgressBar(len(mylist), orientation= h , size=(51, 10), key= progressbar )]]
outputwin = [ [sg.Output(size=(78,20))]]
layout = [ [sg.Frame( Progress ,layout= progressbar)], [sg.Frame( Output , layout = outputwin)], [sg.Submit( Start ),sg.Cancel()]]
window = sg.Window( Custom Progress Meter , layout)
progress_bar = window[ progressbar ] while True: 
  event, values = window.read(timeout=10)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值