详解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编程之微信推送模板消息功能示例
Aug 21 Python
Python使用 Beanstalkd 做异步任务处理的方法
Apr 24 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
pandas把所有大于0的数设置为1的方法
Jan 26 Python
python实现烟花小程序
Jan 30 Python
十分钟搞定pandas(入门教程)
Jun 21 Python
使用Python的datetime库处理时间(RPA流程)
Nov 24 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
Python基于yield遍历多个可迭代对象
Mar 12 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 Python
Python pyecharts绘制条形图详解
Apr 02 Python
python使用pycharm安装pyqt5以及相关配置
Apr 22 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
网站当前的在线人数
2006/10/09 PHP
php $_ENV为空的原因分析
2009/06/01 PHP
基于PHP静态类的原罪详解
2013/05/06 PHP
基于CI框架的微信网页授权库示例
2016/11/25 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
PHP中实现中文字串截取无乱码的解决方法
2018/05/29 PHP
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
angularJS与bootstrap结合实现动态加载弹出提示内容
2015/10/16 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
vue综合组件间的通信详解
2017/11/06 Javascript
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
基于Vue的侧边目录组件的实现
2020/02/05 Javascript
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
Tornado服务器中绑定域名、虚拟主机的方法
2014/08/22 Python
Python入门篇之面向对象
2014/10/20 Python
举例讲解Python中的迭代器、生成器与列表解析用法
2016/03/20 Python
Python变量和数据类型详解
2017/02/15 Python
Python绘制并保存指定大小图像的方法
2019/01/10 Python
Python制作词云图代码实例
2019/09/09 Python
numpy ndarray 取出满足特定条件的某些行实例
2019/12/05 Python
Python有参函数使用代码实例
2020/01/06 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
化学教师教学反思
2014/01/17 职场文书
个人培训自我鉴定
2014/03/28 职场文书
树转促学习心得体会
2014/09/10 职场文书
总经理助理岗位职责
2015/01/31 职场文书
Python中super().__init__()测试以及理解
2021/12/06 Python