简单实现python进度条脚本


Posted in Python onDecember 18, 2017

最近需要用Python写一个小脚本,用到了一些小知识,赶紧抽空记录一下。不深但是常用。

两个进度条示例,拷贝就能运行:

# coding=utf-8

import sys
import time

# width:宽度,  percent:百分比
def progress(width, percent):
  print "\r%s %d%%" % (('%%-%ds' % width) % (width * percent / 100 * '='), percent),
  if percent >= 100:
    print
    sys.stdout.flush()


# 示例一、0%--100%
def demo1():
  for i in xrange(100):
    progress(50, (i + 1))
    time.sleep(0.1)


## 示例二、周期加载
def demo2():
  i = 19
  n = 200
  while n > 0:
    print "\t\t\t%s \r" % (i * "="),
    i = (i + 1) % 20
    time.sleep(0.1)
    n -= 1


demo1()
demo2()

提供一个自己写的一个简单异步进度条,可以在耗时操作前开启,然后再耗时操作结束后停止。

import time
import thread
import sys

class Progress:
  def __init__(self):
    self._flag = False
  def timer(self):
    i = 19
    while self._flag:
      print "\t\t\t%s \r" % (i * "="),
      sys.stdout.flush()
      i = (i + 1) % 20
      time.sleep(0.05)
    print "\t\t\t%s\n" % (19 * "="),
    thread.exit_thread()
  def start(self):
    self._flag = True
    thread.start_new_thread(self.timer, ())
  def stop(self):
    self._flag = False
    time.sleep(1)

用法:

progress = Progress()
progress.start()
time.sleep(5)
progress.stop()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python通过socket查询whois的方法
Jul 18 Python
举例讲解Python编程中对线程锁的使用
Jul 12 Python
Python使用struct处理二进制的实例详解
Sep 11 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
python读取目录下最新的文件夹方法
Dec 24 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
节日快乐! Python画一棵圣诞树送给你
Dec 24 Python
PyTorch中permute的用法详解
Dec 30 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
Python 如何测试文件是否存在
Jul 31 Python
Python grpc超时机制代码示例
Sep 14 Python
详解Python requests模块
Jun 21 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 #Python
通过Python 获取Android设备信息的轻量级框架
Dec 18 #Python
python中列表和元组的区别
Dec 18 #Python
Django REST为文件属性输出完整URL的方法
Dec 18 #Python
Python3计算三角形的面积代码
Dec 18 #Python
利用python解决mysql视图导入导出依赖的问题
Dec 17 #Python
python 3.5实现检测路由器流量并写入txt的方法实例
Dec 17 #Python
You might like
PHP的FTP学习(二)[转自奥索]
2006/10/09 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
js版本A*寻路算法
2006/12/22 Javascript
asp批量修改记录的代码
2008/06/25 Javascript
extjs 学习笔记 四 带分页的grid
2009/10/20 Javascript
js操作ajax返回的json的注意问题!
2010/02/23 Javascript
javascript中的对象创建 实例附注释
2011/02/08 Javascript
自己使用js/jquery写的一个定制对话框控件
2014/05/02 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
18个非常棒的jQuery代码片段
2015/11/02 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
十分钟教你上手ES2020新特性
2020/02/12 Javascript
vue实现的多页面项目如何优化打包的步骤详解
2020/07/19 Javascript
vue深度监听(监听对象和数组的改变)与立即执行监听实例
2020/09/04 Javascript
使用Python脚本操作MongoDB的教程
2015/04/16 Python
Python语言描述随机梯度下降法
2018/01/04 Python
wtfPython—Python中一组有趣微妙的代码【收藏】
2018/08/31 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
django教程如何自学
2020/07/31 Python
html5图片上传预览示例分享
2014/04/14 HTML / CSS
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
Foot Locker英国官网:美国知名运动产品零售商
2019/02/21 全球购物
运动会通讯稿200字
2014/02/16 职场文书
美术兴趣小组活动总结
2014/07/07 职场文书
基层党建工作汇报材料
2014/08/15 职场文书
公务员考察材料范文
2014/12/23 职场文书
担保书范文
2015/01/20 职场文书
邀请函的格式
2015/01/30 职场文书
教师远程培训心得体会
2016/01/09 职场文书
MySQL kill不掉线程的原因
2021/05/07 MySQL
代码解析React中setState同步和异步问题
2021/06/03 Javascript