详解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通过90行代码搭建一个音乐搜索工具
Jul 29 Python
django1.8使用表单上传文件的实现方法
Nov 04 Python
Face++ API实现手势识别系统设计
Nov 21 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
Python中PyQt5/PySide2的按钮控件使用实例
Aug 17 Python
python3多线程知识点总结
Sep 26 Python
有关Tensorflow梯度下降常用的优化方法分享
Feb 04 Python
Tensorflow 多线程与多进程数据加载实例
Feb 05 Python
Python自动化操作实现图例绘制
Jul 09 Python
Python txt文件常用读写操作代码实例
Aug 03 Python
Python列表推导式实现代码实例
Sep 09 Python
Python引入多个模块及包的概念过程解析
Sep 21 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
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
Laravel 5框架学习之Eloquent (laravel 的ORM)
2015/04/08 PHP
PHP实现生成唯一会员卡号
2015/08/24 PHP
javascript URL编码和解码使用说明
2010/04/12 Javascript
javascript语言结构小记(一)
2011/09/10 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
2013/10/11 Javascript
JavaScript判断用户是否对表单进行了修改的方法
2015/03/18 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
jQuery中页面返回顶部的方法总结
2016/12/30 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
JS删除数组里的某个元素方法
2018/02/03 Javascript
深入浅出理解JavaScript闭包的功能与用法
2018/08/01 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
JavaScript 反射和属性赋值实例解析
2019/10/28 Javascript
[41:13]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第一场 11.20
2020/11/20 DOTA
Python httplib,smtplib使用方法
2008/09/06 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
python-tkinter之按钮的使用,开关方法
2019/06/11 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
python3的pip路径在哪
2020/06/23 Python
浅谈CSS3 动画卡顿解决方案
2019/01/02 HTML / CSS
HTML5 与 XHTML2
2008/10/17 HTML / CSS
法律工作求职自荐信
2013/10/31 职场文书
25岁生日感言
2014/01/13 职场文书
大学生职业生涯规划书范文
2014/01/14 职场文书
奥林匹克的口号
2014/06/13 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
校运会通讯稿
2015/07/18 职场文书
初中团支书竞选稿
2015/11/21 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python