当前位置:   article > 正文

如何用Python制作漂亮的进度条!_python 进度条库

python 进度条库
关注我的另一个号并加星标(专注python指标与策略),不定期送书抽奖:

如果你之前没用过进度条,八成是觉得它会增加不必要的复杂性或者很难维护,其实不然。要加一个进度条其实只需要几行代码。

在这几行代码中,我们可以看看如何在命令行脚本以及 PySimpleGUI UI 中添加进度条。

下文将介绍 4 个常用的 Python 进度条库

Progress

第一个要介绍的 Python 库是 Progress。

你只需要定义迭代的次数、进度条类型并在每次迭代时告知进度条。

import timefrom progress.bar   
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()  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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)  

  • 1
  • 2
  • 3
  • 4
  • 5

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

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

相关文档: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)  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

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

PySimpleGUI

用 PySimpleGUI 得到图形化进度条

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

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

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)  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

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

代码如下:

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)   
  if event ==  Cancel  or event is None:   
    break   
  elif event ==  Start :   
    for i,item in enumerate(mylist):   
      print(item)   
      time.sleep(1)   
      progress_bar.UpdateBar(i + 1)window.close()  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

没错,在 Python 脚本中使用进度条只需要几行代码,一点也不复杂。有了进度条,以后也不用再猜测脚本运行的怎么样了。

最后推荐一下我们团队写的量化小册的内容,35篇内容!从Python安装,入门,数据分析,爬虫解释,爬取股票基金的历史+实时数据,如何写一个简单量化策略,策略回测,如何看资金曲线统统都有介绍!非常超值!

欢迎订阅:原价199 早鸟价39(满100人涨10元)。现在的价格非常非常低,只要2杯奶茶,就可以终身订阅+全套课程源码,还有永久陪伴群。48小时无理由退款,放心食用!



**推荐阅读:**

  

  

入门: [最全的零基础学Python的问题](http://mp.weixin.qq.com/s?__biz=MzIxNjM4NDE2MA==&mid=2247483795&idx=1&sn=029cee141ac3fc536a6793adcb0ab96f&chksm=9788965ca0ff1f4a0eb34da2e07dc82f15158553dd818a875c9c6b6941337b2a495428d448d2&scene=21#wechat_redirect)  | [零基础学了8个月的Python](http://mp.weixin.qq.com/s?__biz=MzIxNjM4NDE2MA==&mid=2247486465&idx=1&sn=5dbe4d166682f87f138b6e9d244b8e69&chksm=97889bcea0ff12d84665c6a627e178a5f71bb98a15f1df52bc8f6b575f7fcd380af0be003823&scene=21#wechat_redirect)  | [实战项目](http://mp.weixin.qq.com/s?__biz=MzIxNjM4NDE2MA==&mid=2247489785&idx=1&sn=8acad1d7655f73702c78fe3af2fbd43a&chksm=97888f36a0ff0620bbc9e19e1783a1b3871a13485e56e58c2c2f49922951952238cb0f2ab78f&scene=21#wechat_redirect) |[学Python就是这条捷径](http://mp.weixin.qq.com/s?__biz=MzIxNjM4NDE2MA==&mid=2247489077&idx=1&sn=b862d83860b6c283770561d2645631d1&chksm=978881faa0ff08eccf1dc82747dd5fbb11f3e6bf83b612c47857fffcff6c52bacf63f9c53a78&scene=21#wechat_redirect)


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

干货:爬取豆瓣短评,电影《后来的我们》 | 38年NBA最佳球员分析 | 从万众期待到口碑扑街!唐探3令人失望 | 笑看新倚天屠龙记 | 灯谜答题王用Python做个海量小姐姐素描图碟中谍这么火,我用机器学习做个迷你推荐系统电影

趣味:弹球游戏 | 九宫格 | 漂亮的花 | 两百行Python《天天酷跑》游戏!

AI: 会做诗的机器人 | 给图片上色 | 预测收入 | 碟中谍这么火,我用机器学习做个迷你推荐系统电影

小工具: Pdf转Word,轻松搞定表格和水印! | 一键把html网页保存为pdf!| 再见PDF提取收费! | 用90行代码打造最强PDF转换器,word、PPT、excel、markdown、html一键转换 | 制作一款钉钉低价机票提示器!60行代码做了一个语音壁纸切换器天天看小姐姐!

本文转自 https://mp.weixin.qq.com/s/LOezbV2MpYLAAvB69Kv9qA,如有侵权,请联系删除。对于从来没有接触过编程的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/243150

推荐阅读
相关标签