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程序和Flask框架中使用SQLAlchemy的教程
Jun 06 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
Apr 24 Python
python编程培训 python培训靠谱吗
Jan 17 Python
python方向键控制上下左右代码
Jan 20 Python
python3学习笔记之多进程分布式小例子
Feb 13 Python
python判断数字是否是超级素数幂
Sep 27 Python
python3实现点餐系统
Jan 24 Python
简单了解python元组tuple相关原理
Dec 02 Python
使用Python实现Wake On Lan远程开机功能
Jan 22 Python
Selenium向iframe富文本框输入内容过程图解
Apr 10 Python
python框架flask入门之路由及简单实现方法
Jun 07 Python
Django静态文件加载失败解决方案
Aug 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实现MVC开发得最简单的方法――模型
2007/04/10 PHP
php实现根据词频生成tag云的方法
2015/04/17 PHP
php实现向javascript传递数组的方法
2015/07/27 PHP
PHP用FTP类上传文件视频等的简单实现方法
2016/09/23 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
2008/08/14 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
通过正则格式化url查询字符串实现代码
2012/12/28 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
Javascript 赋值机制详解
2014/11/23 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
2015/09/17 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
jQuery DateTimePicker 日期和时间插件示例
2017/01/22 Javascript
jquery PrintArea 实现票据的套打功能(代码)
2017/03/17 Javascript
ES6新特性三: Generator(生成器)函数详解
2017/04/21 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
2018/07/24 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
使用python实现mqtt的发布和订阅
2019/05/05 Python
matplotlib 多个图像共用一个colorbar的实现示例
2020/09/10 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
StubHub智利:购买和出售您的门票
2016/11/23 全球购物
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
俄罗斯花园种植材料批发和零售网上商店:Беккер
2019/07/22 全球购物
营销总经理的岗位职责
2013/12/15 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
工地门卫岗位职责范本
2014/07/01 职场文书
开除员工通知
2015/04/22 职场文书
计算机教师工作总结
2015/08/13 职场文书
python异步的ASGI与Fast Api实现
2021/07/16 Python
OpenCV实现反阈值二值化
2021/11/17 Java/Android
零基础学java之循环语句的使用
2022/04/10 Java/Android