详解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搭建Django应用程序步骤及版本冲突问题解决
Nov 19 Python
python多进程共享变量
Apr 06 Python
python编程实现希尔排序
Apr 13 Python
Python django实现简单的邮件系统发送邮件功能
Jul 14 Python
Python matplotlib画图与中文设置操作实例分析
Apr 23 Python
python实现接口并发测试脚本
Jun 25 Python
python 含子图的gif生成时内存溢出的方法
Jul 07 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
Jul 22 Python
Python内置函数locals和globals对比
Apr 28 Python
django实现日志按日期分割
May 21 Python
python开根号实例讲解
Aug 30 Python
Pyqt5将多个类组合在一个界面显示的完整示例
Sep 04 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多用户读写文件冲突的解决办法
2013/11/06 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
php获取POST数据的三种方法实例详解
2016/12/20 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
JavaScript语法着色引擎(demo及打包文件下载)
2007/06/13 Javascript
日期 时间js控件
2009/05/07 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
用js写的一个路由(简单实例)
2016/09/24 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
vue+iview 实现可编辑表格的示例代码
2018/10/31 Javascript
vue中多个倒计时实现代码实例
2019/03/27 Javascript
小程序如何构建骨架屏
2019/05/29 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
详解Python当中的字符串和编码
2015/04/25 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
python 数据库查询返回list或tuple实例
2020/05/15 Python
如何使用scrapy中的ItemLoader提取数据
2020/09/30 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
2021/01/29 Python
浅谈盘点5种基于Python生成的个性化语音方法
2021/02/05 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
办公室文员工作自我评价
2013/12/01 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
关于安全的演讲稿
2014/05/09 职场文书
幼儿园大班区域活动总结
2014/07/09 职场文书
2015年发展党员工作总结报告
2015/03/31 职场文书
公司奖励通知
2015/04/21 职场文书
寒假致家长的一封信
2015/10/10 职场文书
2016年大学生实习单位评语
2015/12/01 职场文书