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中的计算示例
Jun 28 Python
Python机器学习之K-Means聚类实现详解
Feb 22 Python
解决Python一行输出不显示的问题
Dec 03 Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 Python
Python中dict和set的用法讲解
Mar 28 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
Jul 03 Python
详解django实现自定义manage命令的扩展
Aug 13 Python
浅谈python中统计计数的几种方法和Counter详解
Nov 07 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
Feb 26 Python
Python datetime 格式化 明天,昨天实例
Mar 02 Python
使用python接受tgam的脑波数据实例
Apr 09 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
Apr 16 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数据缓存的使用说明
2013/05/10 PHP
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
php 删除cookie方法详解
2014/12/01 PHP
PHP 正则表达式小结
2015/02/12 PHP
PHP版单点登陆实现方案的实例
2016/11/17 PHP
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
json的定义、标准格式及json字符串检验
2014/05/11 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
2016/05/17 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
关于两个jQuery(js)特效冲突的bug的解决办法
2016/09/04 Javascript
JSONP基础知识详解
2017/03/19 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
JS实现吸顶特效
2020/01/08 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
Python实现利用163邮箱远程关电脑脚本
2018/02/22 Python
python实现简单五子棋游戏
2019/06/18 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
python 中如何获取列表的索引
2019/07/02 Python
python如何实现异步调用函数执行
2019/07/08 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
2019/12/23 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
python 弧度与角度互转实例
2020/04/15 Python
python环境搭建和pycharm的安装配置及汉化详细教程(零基础小白版)
2020/08/19 Python
如何使用 Flask 做一个评论系统
2020/11/27 Python
迪卡侬印度官网:购买所有体育用品
2017/06/24 全球购物
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
三分钟英语演讲稿
2014/04/24 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
3.15消费者权益日活动总结
2015/02/09 职场文书
安全承诺书格式范本
2015/04/28 职场文书
建国大业电影观后感
2015/06/01 职场文书
Mysql binlog日志文件过大的解决
2021/10/05 MySQL
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技