Python进度条的制作代码实例


Posted in Python onAugust 31, 2019

这篇文章主要介绍了Python进度条的制作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

import sys,time
#导入模块
for i in range(50):
#进度条的长度
  sys.stdout.write("#")
#进度条的内容,这里要注意了,pycharm有可能不显示write的方法
  sys.stdout.flush()
#刷新缓存
  time.sleep(0.5)
#间隔时间,和shell的sleep差不多吧

或者

import sys
 
class progressbar(object):
 
  def __init__(self, finalcount, block_char='.'):
    self.finalcount = finalcount
    self.blockcount = 0
    self.block = block_char
    self.f = sys.stdout
    if not self.finalcount:
      return
    self.f.write('\n------------------ % Progress -------------------1\n')
    self.f.write(' 1 2 3 4 5 6 7 8 9 0\n')
    self.f.write('----0----0----0----0----0----0----0----0----0----0\n')
 
  def progress(self, count):
    count = min(count, self.finalcount)
    if self.finalcount:
      percentcomplete = int(round(100.0 * count / self.finalcount))
      if percentcomplete < 1:
        percentcomplete = 1
    else:
      percentcomplete = 100
    blockcount = int(percentcomplete // 2)
    if blockcount <= self.blockcount:
      return
    for i in range(self.blockcount, blockcount):
      self.f.write(self.block)
    self.f.flush()
    self.blockcount = blockcount
    if percentcomplete == 100:
      self.f.write("\n")
 
if __name__ == "__main__":
  from time import sleep
  pb = progressbar(8, "*")
  for count in range(1, 9):
    pb.progress(count)
    sleep(0.2)
  pb = progressbar(100)
  pb.progress(20)
  sleep(0.3)
  pb.progress(47)
  sleep(0.3)
  pb.progress(90)
  sleep(0.3)
  pb.progress(100)
  print "testing 1:"
  pb = progressbar(1)
  pb.progress(1)

或者

# -*- coding: UTF-8 -*-
import sys, time
class ShowProcess():
  """
  显示处理进度的类
  调用该类相关函数即可实现处理进度的显示
  """
  i = 0 # 当前的处理进度
  max_steps = 0 # 总共需要处理的次数
  max_arrow = 50 #进度条的长度

  # 初始化函数,需要知道总共的处理次数
  def __init__(self, max_steps):
    self.max_steps = max_steps
    self.i = 0

  # 显示函数,根据当前的处理进度i显示进度
  # 效果为[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100.00%
  def show_process(self, i=None):
    if i is not None:
      self.i = i
    else:
      self.i += 1
    num_arrow = int(self.i * self.max_arrow / self.max_steps) #计算显示多少个'>'
    num_line = self.max_arrow - num_arrow #计算显示多少个'-'
    percent = self.i * 100.0 / self.max_steps #计算完成进度,格式为xx.xx%
    process_bar = '[' + '>' * num_arrow + '-' * num_line + ']'\
           + '%.2f' % percent + '%' + '\r' #带输出的字符串,'\r'表示不换行回到最左边
    sys.stdout.write(process_bar) #这两句打印字符到终端
    sys.stdout.flush()
  def close(self, words='done'):
    print ''
    print words
    self.i = 0
if __name__=='__main__':
  max_steps = 100
  process_bar = ShowProcess(max_steps)
  for i in range(max_steps + 1):
    process_bar.show_process()
    time.sleep(0.05)
  process_bar.close()

或者

from Tkinter import *
def resize(ev=one):
  label.config(font='Helvetica -%d bold' % scale.get())

top = Tk()
top.geometry()

label = Label(top, text = 'hello world!', font = 'Helvetica -12 bold')
label.pack(fill=Y,expand=1)

scale = Scale(top, from_=10, to=40, orient=HORIZONTAL, command=resize)
scale.set(12)
scale.pack(fill=X, expand=1)
quit = Button(top, text="QUIT", command=top.quit, activeforeground='white', activebackground='red')
quit.pack()

mainloop()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现的解析crontab配置文件代码
Jun 30 Python
python多重继承实例
Oct 11 Python
Python中下划线的使用方法
Mar 27 Python
详解Python中使用base64模块来处理base64编码的方法
Jul 01 Python
python基本语法练习实例
Sep 19 Python
python密码错误三次锁定(实例讲解)
Nov 14 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
mac下如何将python2.7改为python3
Jul 13 Python
浅析Python3中的对象垃圾收集机制
Jun 06 Python
解决python xx.py文件点击完之后一闪而过的问题
Jun 24 Python
python代理工具mitmproxy使用指南
Jul 04 Python
jupyter note 实现将数据保存为word
Apr 14 Python
python类的实例化问题解决
Aug 31 #Python
python检测服务器端口代码实例
Aug 31 #Python
python实现多线程端口扫描
Aug 31 #Python
python实现复制大量文件功能
Aug 31 #Python
django 做 migrate 时 表已存在的处理方法
Aug 31 #Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 #Python
解决Django migrate不能发现app.models的表问题
Aug 31 #Python
You might like
最小化数据传输――在客户端存储数据
2006/10/09 PHP
第四节--构造函数和析构函数
2006/11/16 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
php格式化电话号码的方法
2015/04/24 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
js获取url参数的使用扩展实例
2007/12/29 Javascript
JavaScript 无符号右移运算符
2009/04/17 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
JS组件Bootstrap Table使用方法详解
2016/02/02 Javascript
Vue表单实例代码
2016/09/05 Javascript
Javascript函数中的arguments.callee用法实例分析
2016/09/16 Javascript
自定义Vue中的v-module双向绑定的实现
2019/04/17 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
JS document文档的简单操作完整示例
2020/01/13 Javascript
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python ddt实现数据驱动
2018/03/14 Python
Python绘制股票移动均线的实例
2019/08/24 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
浅谈matplotlib默认字体设置探索
2021/02/03 Python
JACK & JONES英国官方网站:欧洲领先的男装生产商
2017/09/27 全球购物
全球性的女装店:storets
2019/06/12 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
师范生个人推荐信
2013/11/29 职场文书
大型晚会策划方案
2014/02/06 职场文书
个人投资计划书
2014/05/01 职场文书
焦裕禄精神心得体会
2014/09/02 职场文书
2014年最新大专生职业生涯规划书范文
2014/09/13 职场文书
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript
3050和2060哪个好 性能差多少 差距有多大 谁更有性价比
2022/06/17 数码科技
利用Python实现翻译HTML中的文本字符串
2022/06/21 Python
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript