python实现进度条
python实现进度条
编程要点
# system.out是标准输出流,标准输出流是终端窗口,与python的print函数有一定的关联
# print(obj)实质就是调用sys.stdout.write(obj+'\n')
import sys
# 打印‘人生苦短,我用python’,并换行
print('人生苦短,我用python')
# write()参数最后加上'\n'时,与上一句print的换行效果是等价的
sys.stdout.write('人生苦短,我用python'+'\n')
# sys.stdout.write()要先将打印的内容放到缓冲区中,当缓冲区满了或程序结束才会输出
# 并不能立即将要打印的内容输出到终端,
# 如果需要强制输出到终端,可以使用sys.stdout.flush()语句刷新缓冲区,实现立即打印
编程实现
# -*- coding:utf-8 -*-
# author:wanglisha# 显示一个进度条,并在进度条右端显示进度百分比
import sys
from time import sleep# 定义一个进度条类,对进度条的属性和功能进行封装
class ProgressBar(object):# 初始化函数,设置进度条的总长度,最初长度,组成进度条的字符 (默认为█)def __init__(self, len, bar_char='█'):# 初始化进度条的总长度self.total_len = len# 设置组成进度条的字符self.bar_char = bar_char# 设置进度条起始长度为0self.cur_len = 0# 把终端输出sys.stdout 对象赋值给 self.write_directionself.write_direction = sys.stdout# 如果未给进度条总长度赋值,直接退出if not self.total_len:return# 设置vstr为45个‘-’vstr = '-'*45# 在终端上打印出相关信息self.write_direction.write('\n'+vstr+'进度条演示'+vstr)# 显示进度条函数,show_len是进度条最新长度def show(self, show_len):# 如果进度条最新长度大于进度条总长度,设置进度百分比100if show_len > self.total_len:percent_int = 100else:# python语法中‘/’是正常除法,返回的是浮点类型的商# ‘//’返回的是整数类型的商,可以理解为获取商的整数部分# 以下语句取得进度条最新长度与进度条总长度的百分比的整数值percent_int = (show_len*100) // self.total_len# 要显示进度条,这个进度条由percent_int个self.bar_char(进度条字符)组成cur_string = ("%s"%(self.bar_char))*percent_int# 进度条与后面要显示的百分比之间的内容,由(100-percent_int)个空格组成blank = ' '*(100 - percent_int)# 通过sys.stdout对象的write()函数向终端写入内容(内容暂时存在内存里)# 其中'\r'表示从当前开头重新覆盖地写self.write_direction.write('\r'+cur_string+blank+str(percent_int)+'%')# 通过flush()函数将内存的内容写到终端上self.write_direction.flush()# 将传入的进度条长度保存在self.cur_len中self.cur_len = show_len# 如果长度达到总长度,传入回车字符进行换行if percent_int == 100:self.write_direction.write('\n')# 处理进度条每次增加长度的函数,new_len是每次增加的长度def add_bar_len(self,new_len):# 将进度条当前长度增加new_lenself.cur_len = self.cur_len + new_len# 显示进度条self.show(self.cur_len)if __name__ == '__main__':# 进度条演示print('\n******************************************进度条演示*****************************************************')# 实例化进度条类,生成进度条对象,并设置总长度为200progressbar_obj = ProgressBar(len = 200)# 循环20次,每增加10,完成循环后,长度正好为200for i in range(20):sleep(0.6)# 每次增加长度10progressbar_obj.add_bar_len(10)
打包成exe
使用pyinstaller库,将python编程实现进度条的.py文件,打包成.exe文件,exe文件可直接发送给没有安装python的小伙伴直接使用。
步骤1:本地安装pyinstall库
pip install pyinstaller
步骤2:准备一个ico文件作为exe文件的图标
这里直接从网上搜索
步骤3:将ico和py文件放在本地目录下
注意,放的目录不要带中文,以免出现奇奇怪怪的现象
步骤4:cmd进入当前目录后,执行如下命令
pyinstaller -F -i XX.ico XXX.py
执行完毕,在当前文件中自动生成dist文件夹,想要的exe就在这个文件夹中
实际举例
生成一个setup.exe:
双击后显示进度条界面
python实现进度条相关推荐
- python tqdm进度条打印
python tqdm进度条打印 使用tqdm来进行迭代可以打印进度条,tqdm中的tqdm()是实现进度条美化的基本方法,在for循环体中用tqdm()包裹指定的迭代器或range(). 简单展示: ...
- python文本进度条94页_Python学习笔记 | 实例4:文本进度条
本文为中国大学MOOC<Python语言程序设计>课程学习笔记,课程主讲:嵩天老师,练习平台:Python123,参考教材:<Python语言程序设计基础> 文本进度条-简单的 ...
- python输出进度条 tqdm_python-tqdm进度条
Tqdm 进度条可视化模块 2018-12-04 14:34:25 使用python Tqdm进度条库让你的python进度可视化 Tqdm在阿拉伯语表示进步,在西班牙语中表示我非常爱你.是一个快速, ...
- Python实现进度条和时间预估的示例代码
一.前言 在python当中可以用进度条来显示工作的进度,比如for循环的进度或者一些模型训练的进度. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪 ...
- 动态的给python添加进度条_python动态进度条的实现代码
python动态进度条的实现代码,具体内容如下所示: 有时候我们需要使用print打印工作进度,正常使用print函数会导致刷屏的现象,举个最简单的例子,从1打印到10,每次停顿0.1秒 这样看起来很 ...
- 给 Python 添加进度条 | 给小白的 tqdm 精炼实例!
给 Python 添加进度条 | 给小白的 tqdm 精炼实例! 假设我们有一个循环: for i in range(100):do_something() # 这里做某些事 假设 do_someth ...
- 使用python Tqdm 进度条库让你的python进度可视化
使用python Tqdm进度条库让你的python进度可视化 Tqdm在阿拉伯语表示进步,在西班牙语中表示我非常爱你.是一个快速,可扩展的Python进度条,可以在Python长循环中添加一个进度提 ...
- python 酷炫效果_六种酷炫Python运行进度条效果的实现代码
六种酷炫Python运行进度条效果的实现代码,进度条,代码,六种,效果,酷炫 六种酷炫Python运行进度条效果的实现代码 易采站长站,站长之家为您整理了六种酷炫Python运行进度条效果的实现代码的 ...
- Python 打印进度条
Python 打印进度条 Python 打印字符串进度条 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2022/6/13 16:10 ...
最新文章
- 来自妹子的需求:App的logo自动切图脚本
- jedis取存 数据库查到的对象_Mysql数据库索引BAT面试必问
- 周鸿祎告诫员工:勿盲目把360看成巨头 不四处出击!
- 根据xml生成相应的对象类
- LiveVideoStackCon讲师热身分享 ( 三 ) —— Facebook的工具文化与多媒体QoE
- Python数据结构学习笔记——搜索与排序算法
- 光学定位与追踪技术_如何为射线光学仿真创建复杂的透镜几何结构
- mysql+读的负载均衡_MySQL Proxy快速实现读写分离以及负载均衡
- iphone模拟器_应用日报 | Xcode 现身 5.4 英寸 iPhone 模拟器,和平精英上线特斯拉皮肤...
- 汉字字符内码查询_计算机等级考试查询系统
- Educational Codeforces Round 45 (Rated for Div. 2) G - GCD Counting
- 2021计算机三级数据库大题总结
- 全栈技术详解1-个人贷款违约预测模型
- 《网络媒体教程》自序
- 【NOI2015】【BZOJ4199】品酒大会
- Xftp的下载和安装教程
- k8s的yaml文件配置详解(三)
- 基于Python的简单数据处理
- 编程中python怎么读-Python 应该怎么学?
- python学习之文字转换为语音读出来
热门文章
- i.MX6ULL系统移植:uboot移植1 - 编译官方uboot
- typeScript学习(二)
- 百思不得姐之立即登录注册模块(五)
- python机器人编程教程入门_机器人操作系统(ROS)入门必备:机器人编程一学就会...
- Scratch软件编程等级考试四级——20200319
- 机器学习中的准确率、召回率、F值详解
- Android之相册实现
- win7全屏_win7电脑屏保如何设置 win7电脑屏保设置步骤【介绍】
- 分析思维框架:66法则与SQVID原则
- 讲解Excel的16种图表类型的“含义”,知道该怎么画图了!