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%)
2. # 号进度条
#!/usr/bin/env python3
import time class Index(object):
def __init__(self, number=50, decimal=2):
"""
:param decimal: 你保留的保留小数位
:param number: # 号的 个数
"""
self.decimal = decimal
self.number = number
self.a = 100/number # 在百分比 为几时增加一个 # 号 def __call__(self, now, total):
# 1. 获取当前的百分比数
percentage = self.percentage_number(now, total) # 2. 根据 现在百分比计算
well_num = int(percentage / self.a)
# print("well_num: ", well_num, percentage) # 3. 打印字符进度条
progress_bar_num = self.progress_bar(well_num) # 4. 完成的进度条
result = "\r%s %s" % (progress_bar_num, percentage)
return result def percentage_number(self, now, total):
"""
计算百分比
:param now: 现在的数
:param total: 总数
:return: 百分
"""
return round(now / total * 100, self.decimal) def progress_bar(self, num):
"""
显示进度条位置
:param num: 拼接的 “#” 号的
:return: 返回的结果当前的进度条
"""
# 1. "#" 号个数
well_num = "#" * num # 2. 空格的个数
space_num = " " * (self.number - num) return '[%s%s]' % (well_num, space_num) index = Index() start = 371
for i in range(start + 1):
print(index(i, start), end='')
time.sleep(0.01)
# \r 返回本行开头
# end : python 结尾不加任何操作, 默认是空格
python 实现各种进度条的更多相关文章
- #Python绘制 文本进度条,带刷新、时间暂缓的
#Python绘制 文本进度条,带刷新.时间暂缓的 #文本进度条 import time as T st=T.perf_counter() print('-'*6,'执行开始','-'*6) maxx ...
- Python 计算π及进度条显示
一,首先打开命令提示符找到Python路径,输入pip install tqdm下载第三方库tpdm. 二,写程序 法一 from math import * from tqdm import tqd ...
- Python中利用进度条求圆周率
从祖冲之到现在,圆周率的发展越来越丰富,求法也是越来越快其中: 1.求圆周率的方法: (1)蒙特卡罗法 这是基于“随机数”的算法,通过计算落在单位圆内的点与正方形内的比值来求圆周率PI. 如果一共投入 ...
- python计算π及进度条显示
今天老师布置了一个课后作业,去尽可能的准确计算π的值,还要显示时间和进度条,对于python小白的我,当然是综合书上和网上的知识,自己做了一个小程序,代码如下: 一.写代码的准备工作:用pip下载第三 ...
- tqdm学习-一个快速,可扩展的Python和CLI进度条
参考:https://pypi.org/project/tqdm/ 1.安装: (base) userdeMacBook-Pro:~ user$ conda activate deeplearning ...
- python实例文本进度条
简单的文本进度条代码 解析 引入time库 打印一行作为开始 最后也打印一个结束的标签 定义变量等于10,文本进度条大概的宽度是10 使用for循环来模拟进度,for i in range()能够不断 ...
- Python展示文件下载进度条
前言 大家在用Python写一些小程序的时候,经常都会用到文件下载,对于一些较小的文件,大家可能不太在乎文件的下载进度,因为一会就下载完毕了. 但是当文件较大,比如下载chromedriver的时候, ...
- Python中关于进度条的6个实用技巧
1 简介 费老师我在几年前写过的一篇文章(https://www.cnblogs.com/feffery/p/13392024.html)中,介绍过tqdm这个在当下Python圈子中已然非常流行的进 ...
- 用python进行有进度条的圆周率计算
一.安装tqdm函数库 tqdm是一个强大的终端进度条工具,我利用pip获取tqdm函数库. 1.打开运行,输入“cmd” 2.2:输入pip install 你要安装的库(如 pip insta ...
随机推荐
- 一条sql关联删除多张表数据
现有6张表存在关联关系,要删除主表则其他5张表关联数据也要一块删掉(单条sql多id批量删除) delete t1,t2,t3,t4,t5,t6 FROM rmd_v AS t1 LEFT JOIN ...
- pytorch函数之nn.Linear
class torch.nn.Linear(in_features,out_features,bias = True )[来源] 对传入数据应用线性变换:y = A x+ b 参数: in_featu ...
- druid yml
application-db.yml pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true p ...
- D - Project Presentation(DFS序+倍增LCA)
You are given a tree that represents a hierarchy in a company, where the parent of node u is their d ...
- Gson、jackson 序列化,反序列化(单个、集合)
实体类: package com.nf.redisDemo1.entity; public class News { private long id; private String title; pr ...
- Box and Ball
题目描述 We have N boxes, numbered 1 through N. At first, box 1 contains one red ball, and each of the o ...
- BadRequestException
package me.zhengjie.common.exception; import lombok.Getter; import org.springframework.http.HttpStat ...
- Linux考试试题
mkdir -p /data/oldboy touch lodboy.txt echo "inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255. ...
- git本地仓库目录问题
git安装后修改默认的路径:每次打开git bash后都会进入这个目录 https://blog.csdn.net/weixin_39634961/article/details/79881140 在 ...
- delicate|definite|density|deny doing|draw up |draw on|no equal for|establish|equipped|
ADJ-GRADED 技巧性很强的;注重细节的A delicate task, movement, action, or product needs or shows great skill and ...