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中的struct模块
Apr 28 Python
用Python写一个无界面的2048小游戏
May 24 Python
快速入门python学习笔记
Dec 06 Python
Python中栈、队列与优先级队列的实现方法
Jun 30 Python
在django中,关于session的通用设置方法
Aug 06 Python
使用IDLE的Python shell窗口实例详解
Nov 19 Python
pytorch  网络参数 weight bias 初始化详解
Jun 24 Python
Django --Xadmin 判断登录者身份实例
Jul 03 Python
举例讲解Python装饰器
Dec 24 Python
python连接手机自动搜集蚂蚁森林能量的实现代码
Feb 24 Python
python3 sqlite3限制条件查询的操作
Apr 07 Python
使用python向MongoDB插入时间字段的操作
May 18 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
曾在DC漫画界反派角色扮演的演员,谁才是你心目中的小丑之王?
2020/04/09 欧美动漫
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
php curl模拟post请求和提交多维数组的示例代码
2015/11/19 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
PDO::setAttribute讲解
2019/01/29 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
2011/03/25 Javascript
javascript制作2048游戏
2015/03/30 Javascript
纯JS实现本地图片预览的方法
2015/07/31 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
微信小程序实现跟随菜单效果和循环嵌套加载数据
2017/11/21 Javascript
微信小程序自定义键盘 内部虚拟支付
2018/12/20 Javascript
Javascript作用域和作用域链原理解析
2020/03/03 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
[03:56]还原FTP电影首映式 DOTA2群星拼出遗迹世界
2014/03/26 DOTA
python在Windows8下获取本机ip地址的方法
2015/03/14 Python
python爬虫之百度API调用方法
2017/06/11 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
删除DataFrame中值全为NaN或者包含有NaN的列或行方法
2018/11/06 Python
Python异常处理例题整理
2019/07/07 Python
python实现四人制扑克牌游戏
2020/04/22 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
python 实现客户端与服务端的通信
2020/12/23 Python
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
毕业生毕业总结的自我评价范文
2013/11/02 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
住房公积金贷款工资证明
2015/06/12 职场文书
大学开学感言
2015/08/01 职场文书
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis
Java十分钟精通进阶适配器模式
2022/04/06 Java/Android