python 实现各种进度条

1. 时间进度条

class Tiao(object):
    def __init__(self):
        self.obj1 = datetime.timedelta(seconds=1)
        self.var = ‘%H:%M:%S‘

    def add(self, var):
        a = datetime.datetime.strptime(var, self.var)
        b = a + self.obj1
        return str(b.strftime(self.var))

    def str_time(self, var3):
        a, b, c = [int(i) for i in var3.split(":")]
        a *= 3600
        b *= 60
        return a + b + c

    def yuan(self, var1, var2):
        """
        计算 百分比
        :param var1: 现在时间
        :param var2: 总时间
        """
        var1 = self.str_time(var1)
        var2 = self.str_time(var2)
        return ‘{:.2%}‘.format(var1/var2)

def zhanshi(var):
    a = Tiao()
    b = "00:00:00"
    while True:
        if var == b:
            break
        b = a.add(b)
        print(‘\r%s/%s (%s)‘ % (b, var, a.yuan(b, var)), end=‘‘)
        time.sleep(1)

zhanshi("00:25:37")

# 结果
00:01:39/00:25:37 (6.44%)

原文地址:https://www.cnblogs.com/dream4567/p/9690828.html

时间: 2024-11-06 11:56:06

python 实现各种进度条的相关文章

[Python]命令行进度条

关键点是输出'\r'这个字符可以使光标回到一行的开头,这时输出其它内容就会将原内容覆盖. import time import sys def progress_test(): bar_length=20 for percent in xrange(0, 100): hashes = '#' * int(percent/100.0 * bar_length) spaces = ' ' * (bar_length - len(hashes)) sys.stdout.write("\rPercent

#Python绘制 文本进度条,带刷新、时间暂缓的

#Python绘制 文本进度条,带刷新.时间暂缓的 #文本进度条 import time as T st=T.perf_counter() print('-'*6,'执行开始','-'*6) maxx=11 #要大1 for i in range(maxx): s1='*'*i s2='->' s3='.'*(maxx-i-1) T.sleep(0.5) #假装有延时 dur=T.perf_counter()-st print("\r%3d%%[%s%s%s] %.2fs"%(i

Python 实现下载进度条(不带GUI界面)

话不多说,先上图该Python代码可以实现获取下载的文件名,下载文件的大小,下载速度等. 代码关键点: 1.关于下载文件名的获取:代码里使用两种方式获取:(1) 通过Content-Disposition属性,该属性是作为对下载文件的一个标识字段,存储着下载文件名(2) 直接通过链接获取,例如:sw.bos.baidu.com/sw-search-sp/software/8b23f8846df3d/BaiduMusicSetup.exe 文件后面直接就是文件名称了.2.关于下载文件大小的获取:直

Python中利用进度条求圆周率

从祖冲之到现在,圆周率的发展越来越丰富,求法也是越来越快其中: 1.求圆周率的方法: (1)蒙特卡罗法 这是基于“随机数”的算法,通过计算落在单位圆内的点与正方形内的比值来求圆周率PI. 如果一共投入N个点,其中有M个落入圆中,则要点均匀,假定圆周率的半径为R,则: (2)欧拉恒等式公式为: 基础的泰勒级数: (2)求python进度表 代码: #!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 18-5-21 下午3:44# @Autho

python实例文本进度条

简单的文本进度条代码 解析 引入time库 打印一行作为开始 最后也打印一个结束的标签 定义变量等于10,文本进度条大概的宽度是10 使用for循环来模拟进度,for i in range()能够不断地产生循环 每次答应都会显示当前的休眠状态 字符串与整数的乘积表示字符串被复制的次数 变量a 表示?被复制的次数 变量b 表示点被复制的次数,与当前剩余的进度条比例之间的乘积 通过a和b就可以知道当前已知执行的和未知执行的关系 c表示输出当前输出进度条与未输出之间的关系 使用print函数增加了槽,

python中模拟进度条

文件的write方法并不是直接将文件写入硬盘,而是先写入缓存,等缓存写满等条件满足时再写入磁盘. 有时为了保证数据安全性,需要调用flush来强制数据落盘.同理在标准输出sys.stdout中也有flsuh方法,例如使用sys.stdout来模拟进度条: import sys,time for i in range(20): sys.stdout.write("#") sys.stdout.flush() time.sleep(0.5)

python 验证码 和进度条

import random def make_code(n): res='' for i in range(n): s1=chr(random.randint(65,90)) s2=str(random.randint(0,9)) res+=random.choice([s1,s2]) return res print(make_code(9)) #=========实现打印进度条函数========== import sys import time def progress(percent,w

用Python进行有进度条的π计算

1.tqdm是一个强大的终端进度条工具,我利用pip获取tqdm函数库. 2编写代码 2.1进行π的计算 from random import random from math import sqrt from time import clock DARTS=10000 hits=0.0 clock() for i in range(1,DARTS+1): x,y=random(),random() dist=sqrt(x**2+y**2) if dist <=1.0: hits=hits+1

python之小小的进度条

需要用到的模块是:system和time import sys #sys.stdout.write() stdout是标准输出(输出到屏幕) import sys,time for i in range(20): sys.stdout.write(">") sys.stdout.flush() #实时刷新到屏幕上,进度条实现.如果此行注释,则屏幕延迟一会后'>'字符全部显示出来 time.sleep(0.5) #搭配time.sleep()实现进度条输出 原文地址:http