详解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的web框架编写MVC配置来使其运行的教程
Apr 30 Python
python读取TXT到数组及列表去重后按原来顺序排序的方法
Jun 26 Python
Python实现简单求解给定整数的质因数算法示例
Mar 25 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
Nov 06 Python
Python常用爬虫代码总结方便查询
Feb 25 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
PyTorch 对应点相乘、矩阵相乘实例
Dec 27 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 Python
解决Python中报错TypeError: must be str, not bytes问题
Apr 07 Python
python 下载m3u8视频的示例代码
Nov 11 Python
Python命令行参数定义及需要注意的地方
Nov 30 Python
基于 Python 实践感知器分类算法
Jan 07 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实现多文件上传的方法
2015/07/08 PHP
Yii清理缓存的方法
2016/01/06 PHP
php文件上传 你真的掌握了吗
2016/11/28 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
jQuery 隔行换色 支持键盘上下键,按Enter选定值
2009/08/02 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
js jquery获取随机生成id的服务器控件的三种方法
2013/07/11 Javascript
js获取当月最后一天实例代码
2013/11/19 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
javascript模块化简单解析
2016/04/07 Javascript
JS中artdialog弹出框控件之提交表单思路详解
2016/04/18 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
2020/04/29 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
深入理解NumPy简明教程---数组3(组合)
2016/12/17 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
Django Docker容器化部署之Django-Docker本地部署
2019/10/09 Python
opencv 图像轮廓的实现示例
2020/07/08 Python
详解python中的异常和文件读写
2021/01/03 Python
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
优秀的茶餐厅创业计划书
2014/01/03 职场文书
致跳远运动员加油稿
2014/02/11 职场文书
《永远的白衣战士》教学反思
2014/04/25 职场文书
2015年企业新年寄语
2014/12/08 职场文书
优秀员工事迹材料
2014/12/20 职场文书
教师教育心得体会
2016/01/19 职场文书
《红领巾真好》教学反思
2016/02/16 职场文书
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技