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命令行参数解析模块getopt使用实例
Apr 13 Python
数据清洗--DataFrame中的空值处理方法
Jul 03 Python
python异步存储数据详解
Mar 19 Python
Python 使用folium绘制leaflet地图的实现方法
Jul 05 Python
Python re 模块findall() 函数返回值展现方式解析
Aug 09 Python
python中字典按键或键值排序的实现代码
Aug 27 Python
详解python中*号的用法
Oct 21 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
Pycharm及python安装详细步骤及PyCharm配置整理(推荐)
Jul 31 Python
如何更换python默认编辑器的背景色
Aug 10 Python
Pytorch中的学习率衰减及其用法详解
Jun 05 Python
anaconda python3.8安装后降级
Jun 11 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/01/10 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
javascript 动态加载 css 方法总结
2009/07/11 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
jQuery替换字符串(实例代码)
2013/11/13 Javascript
Bootstrap实现弹性搜索框
2016/07/11 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
2018/08/22 Javascript
JS实现图片拖拽交换效果
2018/11/30 Javascript
后台使用freeMarker和前端使用vue的方法及遇到的问题
2019/06/13 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
python实现简单的TCP代理服务器
2014/10/08 Python
处理Python中的URLError异常的方法
2015/04/30 Python
Python实现的矩阵类实例
2017/08/22 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
Python 最大概率法进行汉语切分的方法
2018/12/14 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
使用Html5中的cavas画一面国旗
2019/09/25 HTML / CSS
美国体育用品商店:Rally House(NCAA、NFL、MLB、NBA、NHL和MLS)
2018/01/03 全球购物
贪睡宠物用品:Snoozer Pet Products
2020/02/04 全球购物
计算机专业推荐信范文
2013/11/27 职场文书
幼儿园家长评语大全
2014/04/16 职场文书
售后客服工作职责
2014/06/16 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
领导班子对照检查材料
2014/09/22 职场文书
关于艺术节的开幕致辞
2016/03/04 职场文书
15个值得收藏的JavaScript函数
2021/09/15 Javascript
spring IOC容器的Bean管理XML自动装配过程
2022/05/30 Java/Android