文档章节

python 命令行下的进度条显示

zhailibao
 zhailibao
发布于 2015/06/12 17:16
字数 166
阅读 25
收藏 0
点赞 0
评论 0
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)


本文转载自:http://www.cnblogs.com/hongfei/p/3982259.html

共有 人打赏支持
zhailibao
粉丝 3
博文 36
码字总数 11831
作品 0
东城
系统管理员
用 Plumbum 开发 Python 命令行工具

摘要:本文翻译自 Python Plumbum 开源库的官方文档 Plumbum CLI 部分,主要介绍如何使用 Plumbum CLI 工具包来开发 Python 命令行应用程序,这是一个非常 Pythonic、容易使用、功能强大的工...

作者: Tomer Filiba ⋅ 05/04 ⋅ 0

Yoda:您的 Linux 系统命令行个人助理

不久前,我们介绍了一个名为 “Betty” 的命令行虚拟助手。今天,我偶然发现了一个类似的实用程序,叫做 “Yoda”。Yoda 是一个命令行个人助理,可以帮助您在 Linux 中完成一些琐碎的任务。它...

作者: Sk ⋅ 04/29 ⋅ 0

Win 10安装Python 3.6

1 打开cmd命令行窗口,执行python -V(注意,是大写的V)命令。 若有提示版本信息,说明python环境已有,下面的步骤就不用再看了。 若没有提示版本信息,说明没有python环境。需要按以下步骤...

海天一树X ⋅ 05/03 ⋅ 0

Pygame模块安装/.py转.exe的方法/Python打飞机项目

写博客是一种积累!让优秀成为一种习惯!谨记每天要做的事! 项目过程中用到Pygame模块,它是一组功能强大模块,能够生成一个Pygame窗口,在屏幕上绘制图像并处理。 插一下,Pygame模块的安装...

LoSingSang ⋅ 04/24 ⋅ 0

人人都能学会的python编程教程1:第一行代码

前言 众所周知,现在IT行业很火,行业薪酬也很高,国家在2017年也发布了人工智能教育的推广计划,人人会编程的时代将要到来。不会编程、不懂编程可能有些跟不上时代的节奏,普通人不懂技术也...

编程老司机 ⋅ 05/10 ⋅ 0

python学习笔记 | Python 2.x 中 raw_input() 和 input() 的区别

Python 2.x 和 Python 3.x 还是有一点小差别的。比如 input 在 Python 2.x 中有两个函数 rawinput() 和 input()。在 Python 3.x 中,只有一个函数来获取用户输入,这被称为 input(),这相当于...

跨界的聚能 ⋅ 05/19 ⋅ 0

PyQT5速成教程-1 简介与环境搭建

PyQt简介 一个良好的界面是人机交互中十分重要的一环。 Python作为脚本语言,起初并未拥有GUI开发的部分。但随着其开放的扩展性,使得Python不断壮大,有PyQt、Tkinter,PyGUI等GUI Toolkit...

养薛定谔的猫 ⋅ 06/02 ⋅ 0

编程与下厨房:如何教女友写Python(二:不从Hello World开始

一、不从“Hello World”开始 但凡是介绍编程语言的入门书籍,都会把“hello world”这个句子的输出作为第一个程序的示例,这种约定俗成的做法就像是新居进火的仪式一般具有非凡的意义。 但是...

州的先生 ⋅ 05/18 ⋅ 0

Python Fire试用体验

之前用Python写过一些CLI的小工具,在CLI命令行传参处理上,一般都是用argparse,最近看到Google开源的Python Fire(2017-3-2就开源了), 把argparse包装了,可以自动将代码转变成 CLI,开发...

ahlfors ⋅ 05/24 ⋅ 0

想用 Python 找到一份好工作?这4种工作最热门!

身边有不少朋友最近都开始学习python,大多都在学了一两个月之后来问小编,我现在已经入行了,能去找什么样的工作呢? 小编只能说: 入行!=找工作 那么,自学python的人,如何才能找到满意的工...

python达人 ⋅ 05/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

关于“幂等”操作

一个幂等(idempotent)操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同. 开发中, 我们经常考虑幂等操作的场景有“接口调用”、“MQ消费”、“自动任务”等 接口调用, 可能出现...

零二一七 ⋅ 30分钟前 ⋅ 0

Dubbo服务服务暴露之ProxyFactory Invoker

Dubbo服务暴露过程中有涉及到调用ProxyFactory 中方法获取Invoker对象的过程,现在我们来深究下源码,来看下这个过程是在做些什么,返回的Invoker 对象是什么,我们来看一下代码的切入点: ...

哲别0 ⋅ 44分钟前 ⋅ 0

GP两种连接方式性能测试

GP两种连接方式性能测试 Pivotal import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class GPQueryStrin......

仔仔1993 ⋅ 49分钟前 ⋅ 0

jsonrpc-4j代码解析

解析文件 AutoJsonRpcServiceImplExporter JsonServiceExporter AutoJsonRpcServiceImplExporter 路径:com.googlecode.jsonrpc4j.spring.AutoJsonRpcServiceImplExporter AutoJsonRpcServi......

郭恩洲_OSC博客 ⋅ 今天 ⋅ 0

百度搜索

from selenium import webdriver import time brower=webdriver.Firefox() brower.get('http://www.baidu.com') input=brower.find_element_by_id('kw') input.send_keys('中南大学') time.s......

南桥北木 ⋅ 今天 ⋅ 0

tomcat 日志记录器

1、日志记录器是记录消息的组件 日志记录器需要与某个servlet 容器相关联 2、Logger 接口 共定义了5种日志级别:FATAL、ERROR、WARNING、INFORMATION、DEBUGGER setVerbosity 设置级别 setC...

职业搬砖20年 ⋅ 今天 ⋅ 0

Thrift RPC实战(三) Thrift序列化机制

1.Thrift基础架构 Thrift是一个客户端和服务端的架构体系,数据通过socket传输; 具有自己内部定义的传输协议规范(TProtocol)和传输数据标准(TTransports); 通过IDL脚本对传输数据的数据结构...

lemonLove ⋅ 今天 ⋅ 0

网站建设就要像2018世界杯的俄罗斯队大杀四方[图]

今天心情不错,因为昨天晚上观看了世界杯比赛,尤其是对俄罗斯队的大杀四方感到十分霸气侧漏啊,因此我联想到了自己的博客网站,我的博客是去年年底上线的,一直想建设一个关于读书和读后感作...

原创小博客 ⋅ 今天 ⋅ 0

linux 信号机制

signal(SIGPIPE, SIG_IGN); TCP是全双工的信道, 可以看作两条单工信道, TCP连接两端的两个端点各负责一条. 当对端调用close时, 虽然本意是关闭整个两条信道, 但本端只是收到FIN包. 按照TCP协...

xxdd ⋅ 今天 ⋅ 0

my.cnf, my-small.cnf, my-medium.cnf, my-large.cnf

1. my-small.cnf # Example MySQL config file for small systems.## This is for a system with little memory (<= 64M) where MySQL is only used# from time to time and it's importa......

周云台 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部