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小技巧之批量抓取美女图片
Jun 06 Python
python实现通过pil模块对图片格式进行转换的方法
Mar 24 Python
Python验证码识别的方法
Jul 10 Python
Python 实现网页自动截图的示例讲解
May 17 Python
windows系统中Python多版本与jupyter notebook使用虚拟环境的过程
May 15 Python
python全栈知识点总结
Jul 01 Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
Feb 25 Python
Python 炫技操作之合并字典的七种方法
Apr 10 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
May 24 Python
python实点云分割k-means(sklearn)详解
May 28 Python
python3获取控制台输入的数据的具体实例
Aug 16 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+Html+缓存
2006/11/25 PHP
深入PHP异步执行的详解
2013/06/03 PHP
浅析PHP编程中10个最常见的错误
2014/08/08 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
不错的新闻标题颜色效果
2006/12/10 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
javascript跑马灯抽奖实例讲解
2020/04/17 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
jQuery 移动端拖拽(模块化开发,触摸事件,webpack)
2016/10/28 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
vue中mint-ui的使用方法
2018/04/04 Javascript
解决vue打包后vendor.js文件过大问题
2019/07/03 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
独特的python循环语句
2016/11/20 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
python SQLAlchemy的Mapping与Declarative详解
2019/07/04 Python
linux环境中没有网络怎么下载python
2019/07/07 Python
python数据预处理 :数据共线性处理详解
2020/02/24 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
Python接口测试文件上传实例解析
2020/05/22 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
施工人员岗位职责
2013/12/12 职场文书
美术国培研修感言
2014/02/12 职场文书
司机岗位职责说明书
2014/07/29 职场文书
英文版辞职信
2015/02/28 职场文书
暂住证明怎么写
2015/06/19 职场文书
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python