详解Python实现进度条的4种方式


Posted in Python onJanuary 15, 2020

这里只列举了部分方法,其他方法或python库暂时还没使用到

1.不用库,直接打印:

代码样例:

import time
#demo1
def process_bar(percent, start_str='', end_str='', total_length=0):
 bar = ''.join(["\033[31m%s\033[0m"%' '] * int(percent * total_length)) + ''
 bar = '\r' + start_str + bar.ljust(total_length) + ' {:0>4.1f}%|'.format(percent*100) + end_str
 print(bar, end='', flush=True)
for i in range(101):
 time.sleep(0.1)
 end_str = '100%'
 process_bar(i/100, start_str='', end_str=end_str, total_length=15)
#demo2
# for i in range(0, 101, 2):
# time.sleep(0.1)
# num = i // 2
# if i == 100:
#  process = "\r[%3s%%]: |%-50s|\n" % (i, '|' * num)
# else:
#  process = "\r[%3s%%]: |%-50s|" % (i, '|' * num)
# print(process, end='', flush=True)

效果:

详解Python实现进度条的4种方式

2.不用库,直接打印:

代码样例:

import sys, time
print("正在下载......")
for i in range(11):
 if i != 10:
  sys.stdout.write("==")
 else:
  sys.stdout.write("== " + str(i*10)+"%/100%")
 sys.stdout.flush()
 time.sleep(0.2)
print("\n" + "下载完成")

注:

sys.stdout.write()方法跟print()方法的区别是 前者打印不换行,后者换行。
sys.stdout.flush()方法是立即刷新输出的内容 

效果:

详解Python实现进度条的4种方式

3.tqdm库

相关文档:点击直达

使用样例:

from time import sleep
from tqdm import tqdm
for i in tqdm(range(20)):
 sleep(0.5)

 效果:

详解Python实现进度条的4种方式                             

4.progressbar

官方文档:点击直达

安装:

pip3 install progressbar2

使用样例:

import time
from progressbar import *
progress = ProgressBar()
for i in progress(range(1000)):
 time.sleep(0.01)

效果:

详解Python实现进度条的4种方式

总结

以上所述是小编给大家介绍的Python实现进度条的4种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python os模块学习笔记
Jun 21 Python
Python操作SQLite数据库的方法详解
Jun 16 Python
Python3学习笔记之列表方法示例详解
Oct 06 Python
Python 中的Selenium异常处理实例代码
May 03 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
python+splinter自动刷新抢票功能
Sep 25 Python
详解Python中的测试工具
Jun 09 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
Django models.py应用实现过程详解
Jul 29 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
golang/python实现归并排序实例代码
Aug 30 Python
Python实战之实现康威生命游戏
Apr 26 Python
pytorch常见的Tensor类型详解
Jan 15 #Python
pytorch 常用线性函数详解
Jan 15 #Python
python3.8下载及安装步骤详解
Jan 15 #Python
浅谈pytorch、cuda、python的版本对齐问题
Jan 15 #Python
pytorch模型预测结果与ndarray互转方式
Jan 15 #Python
pytorch实现对输入超过三通道的数据进行训练
Jan 15 #Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
Jan 15 #Python
You might like
各种战术和打法的原创者
2020/03/04 星际争霸
逐步提升php框架的性能
2008/01/10 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
2013/03/25 Javascript
用jquery生成二级菜单的实例代码
2013/06/24 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
2015/08/12 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
Node.js静态文件服务器改进版
2016/01/10 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
详解angularjs 学习之 scope作用域
2018/01/15 Javascript
如何在vue中使用ts的示例代码
2018/02/28 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
vue给对象动态添加属性和值的实例
2019/09/09 Javascript
[01:33:59]真人秀《加油 DOTA》 第六期
2014/09/09 DOTA
详细介绍Python函数中的默认参数
2015/03/30 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
Django forms组件的使用教程
2018/10/08 Python
最小二乘法及其python实现详解
2020/02/24 Python
Python使用进程Process模块管理资源
2020/03/05 Python
Python reduce函数作用及实例解析
2020/05/08 Python
python 实现 hive中类似 lateral view explode的功能示例
2020/05/18 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
英国足球店:UK Soccer Shop
2017/11/19 全球购物
大专学生推荐信范文
2013/11/19 职场文书
创业计划书模版
2014/02/05 职场文书
学习雷锋倡议书
2014/04/15 职场文书
学校师德承诺书
2014/05/23 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
会计人员岗位职责
2015/02/03 职场文书
教师节主题班会教案
2015/08/17 职场文书