简单实现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发送消息)
Sep 06 Python
Python实现简单状态框架的方法
Mar 19 Python
在Linux下调试Python代码的各种方法
Apr 17 Python
如何在Python中编写并发程序
Feb 27 Python
最大K个数问题的Python版解法总结
Jun 16 Python
python随机数分布random测试
Aug 27 Python
Python实现Dijkstra算法
Oct 17 Python
Python实现网站表单提交和模板
Jan 15 Python
python 定时任务去检测服务器端口是否通的实例
Jan 26 Python
Python常见数据类型转换操作示例
May 08 Python
详解Python 多线程 Timer定时器/延迟执行、Event事件
Jun 27 Python
python+selenium 鼠标事件操作方法
Aug 24 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 反向排序和随机排序代码
2010/06/30 PHP
使用php测试硬盘写入速度示例
2014/01/27 PHP
php隐藏IP地址后两位显示为星号的方法
2014/11/21 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
jQuery源码分析-04 选择器-Sizzle-工作原理分析
2011/11/14 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
jQuery简单实现图片预加载
2015/04/20 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
浅谈AngularJS中$http服务的简单用法
2018/05/15 Javascript
NodeJs实现简易WEB上传下载服务器
2019/08/10 NodeJs
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
Python Web服务器Tornado使用小结
2014/05/06 Python
Python3基础之输入和输出实例分析
2014/08/18 Python
Python按行读取文件的实现方法【小文件和大文件读取】
2016/09/19 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
python字符串str和字节数组相互转化方法
2017/03/18 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
python读取word文档,插入mysql数据库的示例代码
2018/11/07 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
Pyqt5自适应布局实例
2019/12/13 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
基于virtualenv创建python虚拟环境过程图解
2020/03/30 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
全球速卖通西班牙站:AliExpress西班牙
2017/10/30 全球购物
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
大学生村官典型材料
2014/01/12 职场文书
俞敏洪一分钟演讲稿
2014/08/26 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
幼儿园大班毕业评语
2014/12/31 职场文书
python pyhs2 的安装操作
2021/04/07 Python
浅谈Java父子类加载顺序
2021/08/04 Java/Android