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获取文件ssdeep值的方法
Oct 05 Python
Python实现图像几何变换
Jul 06 Python
名片管理系统python版
Jan 11 Python
Python操作MySQL数据库的三种方法总结
Jan 30 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
Oct 26 Python
判断python对象是否可调用的三种方式及其区别详解
Jan 31 Python
django中ORM模型常用的字段的使用方法
Mar 05 Python
python中数据库like模糊查询方式
Mar 02 Python
python mysql中in参数化说明
Jun 05 Python
python适合做数据挖掘吗
Jun 16 Python
python工具快速为音视频自动生成字幕(使用说明)
Jan 27 Python
pytorch MSELoss计算平均的实现方法
May 12 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学习之数组值的操作
2011/04/17 PHP
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
PHP中使用register_shutdown_function函数截获fatal error示例
2015/04/21 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
js判断样式className同时增加class或删除class
2013/01/30 Javascript
js实现带圆角的多级下拉菜单效果
2015/08/28 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
2016/07/12 Javascript
AngularJS extend用法详解及实例代码
2016/11/15 Javascript
jQuery手指滑动轮播效果
2016/12/22 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
python通过colorama模块在控制台输出彩色文字的方法
2015/03/19 Python
Python中处理字符串之islower()方法的使用简介
2015/05/19 Python
浅析python3字符串格式化format()函数的简单用法
2018/12/07 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
2020/04/08 Python
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
html5+css如何实现中间大两头小的轮播效果
2018/12/06 HTML / CSS
罗德与泰勒百货官网:Lord & Taylor
2016/08/12 全球购物
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
vue 中 get / delete 传递数组参数方法
2021/03/23 Vue.js
师范毕业生求职自荐信
2013/09/25 职场文书
仓库组长岗位职责
2014/01/29 职场文书
警校毕业生自我评价
2014/04/06 职场文书
教师批评与自我批评剖析材料
2014/10/16 职场文书
学习群众路线的心得体会
2014/11/05 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
工作检讨书怎么写
2015/01/23 职场文书
应届生们该怎么书写求职信?
2019/07/05 职场文书
MySQL之高可用集群部署及故障切换实现
2021/04/22 MySQL
Java中的Kotlin 内部类原理
2022/06/16 Java/Android