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 ...
随机推荐
- Macroevolution|Silent changes|CNEs|Transposable elements|Neutral sites
Interspecies genomic comparison 因为脊椎动物诞生早,在演化过程中有Macroevolution(因为自然选择或遗传漂变导致持续突变同时表型发生改变),但是存在一种基因缺 ...
- is,==区别,编码转换
一.is 比较的是内存地址 == 比较的是两边的值 二.编码扩展: 1字节(bytes) = 8 位(bit) 1024byte = 1kb 1024kb = 1MB 1024MB = 1GB 102 ...
- VB6的安装过程视频讲解
开发Windows桌面应用程序.开发Office的COM加载项,都离不开VB.本视频从VB安装包的下载和解压缩,一直讲到安装结束后创建项目为止.截图如下: 视频地址: https://pan.baid ...
- 802.11X
LSW1; interface Vlanif100 ip address 192.168.121.2 255.255.255.0连接云的地址 interface GigabitEthernet0/0/ ...
- [LC] 270. Closest Binary Search Tree Value
Given a non-empty binary search tree and a target value, find the value in the BST that is closest t ...
- LeetCode No.133,134,135
No.133 CloneGraph 克隆图 题目 给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆). 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node ...
- hessian学习笔记
一.hessian是什么 Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC ...
- K-th K
题目描述 You are given an integer sequence x of length N. Determine if there exists an integer sequence ...
- openssl 密钥注意
使用openssl生成的密钥,在对加密字符串进行数字签名的时候,程序一直报错,错误异常: algid parse error, not a sequence 其原因是因为,openssl生成的私钥没 ...
- 一、SpringBoot学习笔记_Eclipse 安装 SpringBoot、配置Gradle
首先查看Eclipse 的版本 点击Help ,然后在点击About 就会出现下面的图片 去官网下载对应版本的SpringBoot插件压缩包,下载保存到能找到的位置 然后 点击 Help Inst ...