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实现进度条相关推荐

  1. python tqdm进度条打印

    python tqdm进度条打印 使用tqdm来进行迭代可以打印进度条,tqdm中的tqdm()是实现进度条美化的基本方法,在for循环体中用tqdm()包裹指定的迭代器或range(). 简单展示: ...

  2. python文本进度条94页_Python学习笔记 | 实例4:文本进度条

    本文为中国大学MOOC<Python语言程序设计>课程学习笔记,课程主讲:嵩天老师,练习平台:Python123,参考教材:<Python语言程序设计基础> 文本进度条-简单的 ...

  3. python输出进度条 tqdm_python-tqdm进度条

    Tqdm 进度条可视化模块 2018-12-04 14:34:25 使用python Tqdm进度条库让你的python进度可视化 Tqdm在阿拉伯语表示进步,在西班牙语中表示我非常爱你.是一个快速, ...

  4. Python实现进度条和时间预估的示例代码

    一.前言 在python当中可以用进度条来显示工作的进度,比如for循环的进度或者一些模型训练的进度. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪 ...

  5. 动态的给python添加进度条_python动态进度条的实现代码

    python动态进度条的实现代码,具体内容如下所示: 有时候我们需要使用print打印工作进度,正常使用print函数会导致刷屏的现象,举个最简单的例子,从1打印到10,每次停顿0.1秒 这样看起来很 ...

  6. 给 Python 添加进度条 | 给小白的 tqdm 精炼实例!

    给 Python 添加进度条 | 给小白的 tqdm 精炼实例! 假设我们有一个循环: for i in range(100):do_something() # 这里做某些事 假设 do_someth ...

  7. 使用python Tqdm 进度条库让你的python进度可视化

    使用python Tqdm进度条库让你的python进度可视化 Tqdm在阿拉伯语表示进步,在西班牙语中表示我非常爱你.是一个快速,可扩展的Python进度条,可以在Python长循环中添加一个进度提 ...

  8. python 酷炫效果_六种酷炫Python运行进度条效果的实现代码

    六种酷炫Python运行进度条效果的实现代码,进度条,代码,六种,效果,酷炫 六种酷炫Python运行进度条效果的实现代码 易采站长站,站长之家为您整理了六种酷炫Python运行进度条效果的实现代码的 ...

  9. Python 打印进度条

    Python 打印进度条 Python 打印字符串进度条 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2022/6/13 16:10 ...

最新文章

  1. 来自妹子的需求:App的logo自动切图脚本
  2. jedis取存 数据库查到的对象_Mysql数据库索引BAT面试必问
  3. 周鸿祎告诫员工:勿盲目把360看成巨头 不四处出击!
  4. 根据xml生成相应的对象类
  5. LiveVideoStackCon讲师热身分享 ( 三 ) —— Facebook的工具文化与多媒体QoE
  6. Python数据结构学习笔记——搜索与排序算法
  7. 光学定位与追踪技术_如何为射线光学仿真创建复杂的透镜几何结构
  8. mysql+读的负载均衡_MySQL Proxy快速实现读写分离以及负载均衡
  9. iphone模拟器_应用日报 | Xcode 现身 5.4 英寸 iPhone 模拟器,和平精英上线特斯拉皮肤...
  10. 汉字字符内码查询_计算机等级考试查询系统
  11. Educational Codeforces Round 45 (Rated for Div. 2) G - GCD Counting
  12. 2021计算机三级数据库大题总结
  13. 全栈技术详解1-个人贷款违约预测模型
  14. 《网络媒体教程》自序
  15. 【NOI2015】【BZOJ4199】品酒大会
  16. Xftp的下载和安装教程
  17. k8s的yaml文件配置详解(三)
  18. 基于Python的简单数据处理
  19. 编程中python怎么读-Python 应该怎么学?
  20. python学习之文字转换为语音读出来

热门文章

  1. i.MX6ULL系统移植:uboot移植1 - 编译官方uboot
  2. typeScript学习(二)
  3. 百思不得姐之立即登录注册模块(五)
  4. python机器人编程教程入门_机器人操作系统(ROS)入门必备:机器人编程一学就会...
  5. Scratch软件编程等级考试四级——20200319
  6. 机器学习中的准确率、召回率、F值详解
  7. Android之相册实现
  8. win7全屏_win7电脑屏保如何设置 win7电脑屏保设置步骤【介绍】
  9. 分析思维框架:66法则与SQVID原则
  10. 讲解Excel的16种图表类型的“含义”,知道该怎么画图了!