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字符串对其居中显示的方法
Jul 11 Python
Python设计模式编程中Adapter适配器模式的使用实例
Mar 02 Python
详解python3中zipfile模块用法
Jun 18 Python
Python中 map()函数的用法详解
Jul 10 Python
Python中对数组集进行按行打乱shuffle的方法
Nov 08 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
Jan 05 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
Aug 12 Python
Django Admin中增加导出CSV功能过程解析
Sep 04 Python
详解Django将秒转换为xx天xx时xx分
Sep 27 Python
Python3.8对可迭代解包的改进及用法详解
Oct 15 Python
pytorch使用tensorboardX进行loss可视化实例
Feb 24 Python
浅谈Python从全局与局部变量到装饰器的相关知识
Jun 21 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
PHP 和 COM
2006/10/09 PHP
Div Select挡住的解决办法
2008/08/07 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
js中eval详解
2012/03/30 Javascript
关于JS字符串函数String.replace()
2013/04/07 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
javascript实现简单的html5视频播放器
2015/05/06 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
javascript自执行函数
2017/02/10 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
利用Ionic2 + angular4实现一个地区选择组件
2017/07/27 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
Python实现把数字转换成中文
2015/06/29 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
2017/02/13 Python
python中强大的format函数实例详解
2018/12/05 Python
Python使用qrcode二维码库生成二维码方法详解
2020/02/17 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
python使用建议技巧分享(三)
2020/08/18 Python
基于python模拟bfs和dfs代码实例
2020/11/19 Python
python通过cython加密代码
2020/12/11 Python
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
师范毕业生自荐信
2013/10/17 职场文书
自荐信封面
2013/12/04 职场文书
大型晚会策划方案
2014/02/06 职场文书
2014年公司植树节活动方案
2014/03/04 职场文书
2015年中学团委工作总结
2015/07/22 职场文书
SpringBoot集成Druid连接池连接MySQL8.0.11
2021/07/02 Java/Android
springcloud整合seata
2022/05/20 Java/Android
什么是clearfix (一文搞清楚css清除浮动clearfix)
2023/05/21 HTML / CSS