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 代码优化详解
Oct 27 Python
Python 实现数据库更新脚本的生成方法
Jul 09 Python
Window10+Python3.5安装opencv的教程推荐
Apr 02 Python
Python中正则表达式的用法总结
Feb 22 Python
pandas 数据索引与选取的实现方法
Jun 21 Python
Python高级特性 切片 迭代解析
Aug 23 Python
pygame实现俄罗斯方块游戏(AI篇1)
Oct 29 Python
Python Django框架模板渲染功能示例
Nov 08 Python
Python3 解决读取中文文件txt编码的问题
Dec 20 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
Feb 20 Python
python中Django文件上传方法详解
Aug 05 Python
Django filter动态过滤与排序实现过程解析
Nov 26 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脚本的10个技巧(8)
2006/10/09 PHP
新手学习PHP的一些基础知识分享
2011/07/27 PHP
JavaScript小技巧 2.5 则
2010/09/12 Javascript
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
js中less常用的方法小结
2017/08/09 Javascript
解决vue 更改计算属性后select选中值不更改的问题
2018/03/02 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
[03:24][TI9纪实] Dota奶爸
2019/08/22 DOTA
在Django的视图中使用form对象的方法
2015/07/18 Python
各个系统下的Python解释器相关安装方法
2015/10/12 Python
Zookeeper接口kazoo实例解析
2018/01/22 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
基于python if 判断选择结构的实例详解
2019/05/06 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
Python 实现try重新执行
2019/12/21 Python
Python random模块的使用示例
2020/10/10 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
html5指南-3.如何实现html元素拖拽功能
2013/01/07 HTML / CSS
Html5 语法与规则简要概述
2014/07/29 HTML / CSS
网络安全方面的面试题
2015/11/04 面试题
中科软笔试题和面试题
2014/10/07 面试题
员工自我鉴定
2013/10/09 职场文书
感恩节活动方案
2014/01/27 职场文书
城市规划应届毕业生自荐信
2014/07/04 职场文书
2015年计划生育责任书
2015/05/08 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
转变工作作风心得体会
2016/01/23 职场文书