Python 实现进度条的六种方式


Posted in Python onJanuary 06, 2021

一、普通进度条

示例代码

import sys
import time


def progress_bar():
  for i in range(1, 101):
    print("\r", end="")
    print("Download progress: {}%: ".format(i), "?" * (i // 2), end="")
    sys.stdout.flush()
    time.sleep(0.05)

if __name__ == '__main__':
  progress_bar()

展现形式

Python 实现进度条的六种方式

二、带时间的进度条

导入time模块来计算代码运行的时间,加上代码迭代进度使用格式化字符串来输出代码运行进度

示例代码

import time

scale = 50
print("执行开始,祈祷不报错".center(scale // 2,"-"))
start = time.perf_counter()
for i in range(scale + 1):
  a = "*" * i
  b = "." * (scale - i)
  c = (i / scale) * 100
  dur = time.perf_counter() - start
  print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end = "")
  time.sleep(0.1)

print("\n"+"执行结束,万幸".center(scale // 2,"-"))

展现形式

Python 实现进度条的六种方式

三、TPDM 进度条

这是一个专门生成进度条的工具包,可以使用pip在终端进行下载,当然还能切换进度条风格

 示例代码

from time import sleep
from tqdm import tqdm
# 这里同样的,tqdm就是这个进度条最常用的一个方法
# 里面存一个可迭代对象
for i in tqdm(range(1, 500)):
  # 模拟你的任务
  sleep(0.01)
sleep(0.5)

展现形式

 Python 实现进度条的六种方式

四、progress 进度条

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

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

示例代码

import time
from progress.bar import IncrementalBar

mylist = [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()

展现形式

 Python 实现进度条的六种方式

五、alive_progress 进度条

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

相关文档:https://github.com/rsalmei/alive-progress

示例代码

from alive_progress import alive_bar

# retrieve your set of items
items = range(100)       

# declare your expected total   
with alive_bar(len(items)) as bar:  
  # iterate as usual
  for item in items:        
    # process each item
    bar()
    time.sleep(0.1)

展现形式

Python 实现进度条的六种方式

六、可视化进度条

用 PySimpleGUI 得到图形化进度条,我们可以加一行简单的代码,在命令行脚本中得到图形化进度条,也是使用pip进行下载

示例代码

import PySimpleGUI as sg
import time

mylist = [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)

展现形式

Python 实现进度条的六种方式

以上就是Python 实现进度条的六种方式的详细内容,更多关于python 实现进度条的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python只用40行代码编写的计算器实例
May 10 Python
使用Python获取并处理IP的类型及格式方法
Nov 01 Python
Django中使用 Closure Table 储存无限分级数据
Jun 06 Python
django框架使用orm实现批量更新数据的方法
Jun 21 Python
简单的Python调度器Schedule详解
Aug 30 Python
Python获取一个用户名的组ID过程解析
Sep 03 Python
python区分不同数据类型的方法
Oct 14 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
Python Flask框架实现简单加法工具过程解析
Jun 03 Python
python程序如何进行保存
Jul 03 Python
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
Apr 20 Python
python 单机五子棋对战游戏
Apr 28 Python
基于Python实现天天酷跑功能
Jan 06 #Python
python 下载文件的几种方法汇总
Jan 06 #Python
python 视频下载神器(you-get)的具体使用
Jan 06 #Python
python实现模拟器爬取抖音评论数据的示例代码
Jan 06 #Python
如何在vscode中安装python库的方法步骤
Jan 06 #Python
如何利用python 读取配置文件
Jan 06 #Python
Pandas之缺失数据的实现
Jan 06 #Python
You might like
从网上搜到的phpwind 0day的代码
2006/12/07 PHP
PHP foreach循环使用详解与实例代码
2010/05/08 PHP
php通过记录IP来防止表单重复提交方法分析
2014/12/16 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
jQuery Pagination Ajax分页插件(分页切换时无刷新与延迟)中文翻译版
2013/01/11 Javascript
Struts2的s:radio标签使用及用jquery添加change事件
2013/04/08 Javascript
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
理解javascript异步编程
2016/01/27 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
关于页面刷新vuex数据消失问题解决方案
2017/07/03 Javascript
VUE重点问题总结
2018/03/19 Javascript
webpack file-loader和url-loader的区别
2019/01/15 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
一看就会的vuex实现登录验证(附案例)
2020/01/09 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
[01:27:30]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python的Flask开发框架简单上手笔记
2015/11/16 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
2018/06/22 Python
python解决字符串倒序输出的问题
2018/06/25 Python
解决python xx.py文件点击完之后一闪而过的问题
2019/06/24 Python
Collection和Collections的区别
2016/05/02 面试题
文秘专业自荐信
2013/10/14 职场文书
药学专业毕业生求职信
2013/10/20 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
医学专业大学生求职信
2014/07/12 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
庐山导游词
2015/02/03 职场文书
离职证明范本
2015/06/12 职场文书
解决sql server 数据库,sa用户被锁定的问题
2021/06/11 SQL Server
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python
Python+Tkinter打造签名设计工具
2022/04/01 Python