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 SQLite3数据库操作类分享
Jun 10 Python
Python面向对象编程中关于类和方法的学习笔记
Jun 30 Python
Python爬虫代理IP池实现方法
Jan 05 Python
python不换行之end=与逗号的意思及用途
Nov 21 Python
Django REST framework 视图和路由详解
Jul 19 Python
python创建属于自己的单词词库 便于背单词
Jul 30 Python
基于Python批量生成指定尺寸缩略图代码实例
Nov 20 Python
Python装饰器用法与知识点小结
Mar 09 Python
Python super()函数使用及多重继承
May 06 Python
Python3 pywin32模块安装的详细步骤
May 26 Python
django如何自定义manage.py管理命令
Apr 27 Python
python 闭包函数详细介绍
Apr 19 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二进制与字符串之间的相互转换教程
2016/10/14 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
Jquery实现由下向上展开效果的例子
2014/12/08 Javascript
js实现当复选框选择匿名登录时隐藏登录框效果
2015/08/14 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
2016/02/16 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
2016/06/12 Javascript
Ionic项目中Native Camera的使用方法
2017/06/07 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
详解vue添加删除元素的方法
2018/06/30 Javascript
nodejs 使用http进行post或get请求的实例(携带cookie)
2019/01/03 NodeJs
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
JS操作json对象key、value的常用方法分析
2019/10/29 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
js+html+css实现手动轮播和自动轮播
2020/12/30 Javascript
Python实现将DOC文档转换为PDF的方法
2015/07/25 Python
Python实现查找数组中任意第k大的数字算法示例
2019/01/23 Python
使用python的turtle绘画滑稽脸实例
2019/11/21 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
Python3爬虫关于识别点触点选验证码的实例讲解
2020/07/30 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
美国在线医疗分销商:MedEx Supply
2020/02/04 全球购物
CLR与IL分别是什么含义
2016/08/23 面试题
大学活动邀请函
2014/01/28 职场文书
淘宝店铺营销方案
2014/02/13 职场文书
会走路的树教学反思
2014/02/20 职场文书
保护环境倡议书300字
2014/05/19 职场文书
HR在给员工开具离职证明时,需要注意哪些问题?
2019/07/03 职场文书
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis
vue+elementUI实现表格列的显示与隐藏
2022/04/13 Vue.js