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发送邮件实例
Jan 10 Python
简单讲解Python编程中namedtuple类的用法
Jun 21 Python
详解Python中的__getitem__方法与slice对象的切片操作
Jun 27 Python
使用Python搭建虚拟环境的配置方法
Feb 28 Python
解决Python pandas plot输出图形中显示中文乱码问题
Dec 12 Python
对python中url参数编码与解码的实例详解
Jul 25 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
python读取大文件越来越慢的原因与解决
Aug 08 Python
解决django-xadmin列表页filter关联对象搜索问题
Nov 15 Python
如何定义TensorFlow输入节点
Jan 23 Python
django 读取图片到页面实例
Mar 27 Python
Python faker生成器生成虚拟数据代码实例
Jul 20 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
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
php购物车实现方法
2015/01/03 PHP
PHP中文乱码解决方案
2015/03/05 PHP
php中foreach结合curl实现多线程的方法分析
2016/09/22 PHP
PHP使用imagick扩展实现合并图像的方法
2017/04/25 PHP
基于jquery的弹出提示框始终处于窗口的居中位置(类似于alert弹出框的效果)
2011/09/28 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
Ext JS动态加载JavaScript创建窗体的方法
2016/06/23 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
详解通过JSON数据使用VUE.JS
2017/05/26 Javascript
JS伪继承prototype实现方法示例
2018/06/20 Javascript
vue 优化CDN加速的方法示例
2018/09/19 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
讲解Python中的标识运算符
2015/05/14 Python
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
Python入门学习指南分享
2018/04/11 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
Python的缺点和劣势分析
2019/11/19 Python
python获取响应某个字段值的3种实现方法
2020/04/30 Python
Python3实现英文字母转换哥特式字体实例代码
2020/09/01 Python
python利用faker库批量生成测试数据
2020/10/15 Python
Css3+Js制作漂亮时钟(附源码)
2013/04/24 HTML / CSS
澳大利亚领先的睡衣品牌:Peter Alexander
2016/08/16 全球购物
法国美发器材和产品购物网站:Beauty Coiffure
2016/12/05 全球购物
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
ORACLE第二个十问
2013/12/14 面试题
厨师岗位职责
2013/11/12 职场文书
餐厅服务员岗位职责
2015/02/09 职场文书
2015年学校远程教育工作总结
2015/07/20 职场文书
小学校本教研总结
2015/08/13 职场文书
《风不能把阳光打败》读后感3篇
2020/01/06 职场文书
python数字转对应中文的方法总结
2021/08/02 Python
python编程简单几行代码实现视频转换Gif示例
2021/10/05 Python