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 相关文章推荐
Python3读取文件常用方法实例分析
May 22 Python
在Python的Django框架的视图中使用Session的方法
Jul 23 Python
通过Python使用saltstack生成服务器资产清单
Mar 01 Python
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
Jun 13 Python
Python合并多个Excel数据的方法
Jul 16 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
Jun 14 Python
python tkinter canvas使用实例
Nov 04 Python
Python如何通过Flask-Mail发送电子邮件
Jan 29 Python
Django模型中字段属性choice使用说明
Mar 30 Python
keras处理欠拟合和过拟合的实例讲解
May 25 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
Nov 28 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字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
PHP实现加强版加密解密类实例
2015/07/29 PHP
php json_encode与json_decode详解及实例
2016/12/13 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
TFDN图片播放器 不错自动播放
2006/10/03 Javascript
Google韩国首页图标动画效果
2007/08/26 Javascript
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
用Jquery重写windows.alert方法实现思路
2013/04/03 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
Mongoose中document与object的区别示例详解
2017/09/18 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
小程序click-scroll组件设计
2019/06/18 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
JavaScript原生数组函数实例汇总
2020/10/14 Javascript
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
使用pycharm生成代码模板的实例
2018/05/23 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
python时间与Unix时间戳相互转换方法详解
2020/02/13 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
利用CSS3的border-radius绘制太极及爱心图案示例
2016/05/17 HTML / CSS
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
淘宝客服自我总结鉴定
2014/01/25 职场文书
班子四风对照检查材料
2014/08/21 职场文书
国际贸易实训总结
2015/08/03 职场文书
如何拟写通知正文?
2019/04/02 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python