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 的描述符 descriptor详解
Feb 27 Python
Python爬虫抓取代理IP并检验可用性的实例
May 07 Python
pycham查看程序执行的时间方法
Nov 29 Python
使用PIL(Python-Imaging)反转图像的颜色方法
Jan 24 Python
自学python的建议和周期预算
Jan 30 Python
对numpy下的轴交换transpose和swapaxes的示例解读
Jun 26 Python
python下PyGame的下载与安装过程及遇到问题
Aug 04 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
Python unittest工作原理和使用过程解析
Feb 24 Python
使用python实现飞机大战游戏
Mar 23 Python
python如何写出表白程序
Jun 01 Python
pandas 实现将NaN转换为None
May 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
几个php应用技巧
2008/03/27 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
PHP中include()与require()的区别说明
2017/02/14 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
Maps Javascript
2007/01/22 Javascript
根据json字符串生成Html的一种方式
2013/01/09 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
JavaScript关闭当前页面(窗口)不带任何提示
2014/03/26 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
用js实现放大镜效果
2020/10/28 Javascript
ant design vue 表格table 默认勾选几项的操作
2020/10/31 Javascript
Python内置函数dir详解
2015/04/14 Python
Python中使用Queue和Condition进行线程同步的方法
2016/01/19 Python
Python实现约瑟夫环问题的方法
2016/05/03 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
Python 硬币兑换问题
2019/07/29 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
Python爬虫scrapy框架Cookie池(微博Cookie池)的使用
2021/01/13 Python
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
德国柯吉澳趣味家居:Koziol
2017/08/24 全球购物
Linux的文件类型
2016/07/05 面试题
工作中个人的自我评价
2013/12/31 职场文书
目标责任书格式范文
2015/05/11 职场文书
青年文明号创建口号大全
2015/12/25 职场文书
读《钢铁是怎样炼成的》有感:百炼方成钢
2019/11/05 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python
浅谈MySQL表空间回收的正确姿势
2021/10/05 MySQL