如何用Python中progress库实现进度条


这篇文章主要介绍“如何用Python中progress库实现进度条”,在日常操作中,相信很多人在如何用Python中progress库实现进度条问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Python中progress库实现进度条”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!1.安装progress库progress是Python第三方库,在终端执行 pip 命令安装。2.progress进度条效果展示在官网可以看到progress能实现的各种进度条效果,如下动图。运行效果:使用 progress 库实现进度条很简单,从 progress 库的 bar.py 中导入 Bar 类,实例化一个对象,然后循环处理业务和调用 next() 方法,处理完成后调用 finish() 方法结束进度条。Bar 类的主要参数有:message: 进度条显示的信息,这个参数默认可以用位置参数传给 Bar 。width: 修改进度条的宽度,默认32。max: 进度条被分成几等份,如100。suffix: 进度百分比显示的格式,默认 ‘%(index)d/%(max)d’ 。fill: 进度条用什么填充,默认’#’ 。empty_fill: 未加载的进度条用什么填充,默认空格’ ’ 。bar_prefix: 进度条前缀,默认’ |’ 。bar_suffix: 进度条后缀,默认’| ’ 。color: 进度条的颜色,默认None。大部分Python程序员都使用PyCharm,如果在PyCharm中运行进度条代码后没有显示进度条效果,可以按照如下步骤设置,再重新运行代码。Step1. 点击PyCharm上方的 Run 按钮,然后点击 Edit Configurations,进入运行配置页面。Step2. 将 Emulate terminal in output console 选项打钩,然后重新运行代码。细心的小伙伴应该发现了,上面的进度条代码在PyCharm中运行完成后,进度条下有一串奇怪的字符: ‘?[?25h’ ,在终端中用脚本方式 python progress_demo.py 运行相同的代码,不会有这串符号。这串字符表示的是光标,在PyCharm中免费云主机域名运行完成后,光标被输出在控制台上了。解决方法为:按住 Ctrl 键,点击导入的 Bar 类名,跳转到源码 bar.py 中,再按住 Ctrl 键点击 Bar 类继承的 Progress 类,进入 progress 库的 __init__.py 文件中,将该文件中的 SHOW_CURSOR 变量改为空字符串。修改源码后再重新运行代码,光标不显示了,那一串字符也就不显示了。在PyChram中运行进度条,还可能会遇到其他显示问题,建议出现问题时,用脚本的方式运行,以脚本运行的结果为准,PyChram中运行只用来调试代码。1. 上下文管理器: 使用 with … as … 上下文管理器的方式编写进度条,进度条完成后无需调用 finish() 方法。2. 使用 iter() 方法: 使用 iter() 方法可以简化迭代器的工作,不需要调用 next() 方法。这两种实现方式执行的结果与最开始的实现方式一样。1. Bar 系列前文中点进了progress的源码,可以看到 Bar 类继承自 Progress 类,Progress 类继承自 Infinite 类,Progress 类和 Infinite 类实现了进度条的基本功能。在 bar.py 中,除了 Bar 类,还有6个类,ChargingBar, FillingSquaresBar, FillingCirclesBar, IncrementalBar, PixelBar, ShadyBar,它们分别是 Bar 类的子类或孙类,继承了进度条的功能,在每一个类中只是修改了 suffix, fill, empty_fill, bar_prefix, bar_suffix这些变量的值,修改了进度条的样式。使用很简单,只需要导入这些类,将上面代码中的 Bar 换成这些类就行了,如 FillingSquaresBar。运行效果:还可以自己修改上面的参数,设置个性化的进度条,本文暂不扩展,以后有空可以专门写文章介绍。2. Spinner 系列progress 库的 spinner.py 中实现了 5 个类,Spinner, PieSpinner, MoonSpinner, LineSpinner, PixelSpinner。运行效果:3.Counter 系列progress 库的 counter.py 中实现了 4 个类,Counter, Countdown, Stack, Pie。运行效果:接下来将上面介绍的所有种类的进度条全部放到一起,代码如下:运行效果:运行代码后可以得出所有种类的进度条,与文章开头从官网截的图效果相同。到此,关于“如何用Python中progress库实现进度条”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: php如何将url的参数转化成数组

本文小编为大家详细介绍“php如何将url的参数转化成数组”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何将url的参数转化成数组”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 转化方法:1、使用“mb_substr($u…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/02 11:25
下一篇 06/02 11:25

相关推荐