Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在python中实现进度条

在python中实现进度条

作者头像
羽翰尘
修改于 2019-11-26 07:43:10
修改于 2019-11-26 07:43:10
1.1K0
举报
文章被收录于专栏:技术向技术向

本文由腾讯云+社区自动同步,原文地址 http://blogtest.stackoverflow.club/progressbar-in-python/

试图通过pip

在python2中可以很方便的安装progressbar模块,但是python3中会报如下错误:

代码语言:txt
AI代码解释
复制
Collecting progressbar
  Downloading progressbar-2.3.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-ghlr5eic/progressbar/setup.py", line 5, in <module>
        import progressbar
      File "/tmp/pip-build-ghlr5eic/progressbar/progressbar/__init__.py", line 59, in <module>
        from progressbar.widgets import *
      File "/tmp/pip-build-ghlr5eic/progressbar/progressbar/widgets.py", line 121, in <module>
        class FileTransferSpeed(Widget):
      File "/home/wenfeng/anaconda3/envs/tensorflow/lib/python3.6/abc.py", line 133, in __new__
        cls = super().__new__(mcls, name, bases, namespace, **kwargs)
    ValueError: 'format' in __slots__ conflicts with class variable
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-ghlr5eic/progressbar/

显然,这是由于版本差异造成的。所以,可以考虑自己实现一个progressbar了。

自己造轮子

  • 类的实现
代码语言:txt
AI代码解释
复制
#!/usr/local/lib
# -*- coding: UTF-8 -*-
import sys, time
class ShowProcess():
    """
    显示处理进度的类
    调用该类相关函数即可实现处理进度的显示
    """
    i = 0 # 当前的处理进度
    max_steps = 0 # 总共需要处理的次数
    max_arrow = 50 #进度条的长度
    # 初始化函数,需要知道总共的处理次数
    def __init__(self, max_steps):
        self.max_steps = max_steps
        self.i = 0
    # 显示函数,根据当前的处理进度i显示进度
    # 效果为[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]100.00%
    def show_process(self, i=None):
        if i is not None:
            self.i = i
        else:
            self.i += 1
        num_arrow = int(self.i * self.max_arrow / self.max_steps) #计算显示多少个'>'
        num_line = self.max_arrow - num_arrow #计算显示多少个'-'
        percent = self.i * 100.0 / self.max_steps #计算完成进度,格式为xx.xx%
        process_bar = '[' + '>' * num_arrow + '-' * num_line + ']'\
                      + '%.2f' % percent + '%' + '\r' #带输出的字符串,'\r'表示不换行回到最左边
        sys.stdout.write(process_bar) #这两句打印字符到终端
        sys.stdout.flush()
    def close(self, words='done'):
        print ''
        print words
        self.i = 0
if __name__=='__main__':
    max_steps = 100
    process_bar = ShowProcess(max_steps)
    for i in range(max_steps + 1):
        process_bar.show_process()
        time.sleep(0.05)
    process_bar.close()
 
  • 测试
代码语言:txt
AI代码解释
复制
process_bar = ShowProcess(max_steps) # 1.在循环前定义类的实体, max_steps是总的步数    
for i in range(max_steps + 1):    
    process_bar.show_process()      # 2.显示当前进度
    time.sleep(0.05)    
process_bar.close('done')            # 3.处理结束后显示消息
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
大数定理与中心极限定理
大数定律和中心极限定理是概率论与数理统计中的两个重要概念,它们在理论研究和实际应用中都具有重要意义。
用户11315985
2024/10/16
2650
复习中心极限定理
中心极限定理(Central Limit Theorem)是统计学中的核心理论,指出当独立随机变量的样本量足够多时,它们的平均值将逐渐趋近于正态分布。它建立在大数定律和正态分布的基础上,通过数学推导和证明,解释了为什么当样本容量足够大时,样本均值的采样分布会趋近于正态分布。基于这一定理,我们能够通过样本的均值来估计总体均值。该理论在统计推断和假设检验中占据重要地位,使我们得以从样本数据中推断出总体的特性。
叶庭云
2024/05/25
1690
复习中心极限定理
钟形曲线:中心极限定理 精选
已有 27345 次阅读 2017-7-31 09:15 |个人分类:系列科普|系统分类:科普集锦
用户2188327
2020/07/13
1.2K0
正态分布与中心极限定理
也就是说,正态分布一种分布形式,它实际上有很多表示形式,最常见的有概率密度函数,累计分布函数等等来表示。
attack
2018/09/17
1.7K0
概率论与数理统计
设\lbrace{X_n}\rbrace为一随机变量序列。目标:X为一随机变量(或a为常数)。
孔西皮
2021/03/04
4230
数据科学基础(四) 大数定律与中心极限定理
📚 文档目录 随机事件及其概率 随机变量及其分布 期望和方差 大数定律与中心极限定理 数理统计的基本概念 参数估计 假设检验 多维 回归分析和方差分析 降维 4.1 大数定律 大量重复实验的平均结果的稳定性. 4.1.1. 马尔可夫不等式 P\left\{X\geq a\right\}\leq\displaystyle\frac{EX}{a} 证明:EX=\displaystyle\int_0^{\infty}xf(x)dx=\int_a^{\infty}xf(x)dx+\int_0^{a}xf(x)dx
Rikka
2022/01/19
7410
数据科学基础(四) 大数定律与中心极限定理
讲讲中心极限定理
今天我们来聊聊统计学里面比较重要的一个定理:中心极限定理,中心极限定理是指:现在有一个总体数据,如果从该总体数据中随机抽取若干样本,重复多次,每次抽样得到的样本量统计值(比如均值)与总体的统计值(比如均值)应该是差不多的,而且重复多次以后会得到多个统计值,这多个统计值会呈正态分布。还是直接来看例子吧。
张俊红
2020/03/31
1K0
讲讲中心极限定理
中心极限定理的解释和关键假设
围绕这些基本统计概念的问题确实会在数据科学面试中出现。但是一些追求趋势的数据科学家经常将他们的学习时间投入到最新趋势和新算法上,但却因为没有重新审视基本概念而在面试中挂掉了。
deephub
2021/08/20
7950
概率论基础 - 9 - 中心极限定理
中心极限定理(Central Limit Theorem,CTL),是指概率论中讨论随机变量序列部分和分布渐近于正态分布的一类定理。。 概述 定理是数理统计学和误差分析的理论基础,指出了大量随机变量近似服从正态分布的条件。它是概率论中最重要的一类定理,有广泛的实际应用背景。在自然界与生产中,一些现象受到许多相互独立的随机因素的影响,如果每个因素所产生的影响都很微小时,总的影响可以看作是服从正态分布的。中心极限定理就是从数学上证明了这一现象。 ——百度百科 中心极限定理(CLT)指出,如果样
为为为什么
2022/08/05
5.6K0
概率论基础 - 9 - 中心极限定理
一文看懂中心极限定理
作者 | Indhumathy Chelliah 编译 | VK 来源 | Towards Data Science
磐创AI
2021/04/21
2.3K0
一文看懂中心极限定理
不得不学的统计学基础知识(一)
统计学是数据分析必须掌握的基础知识,它是通过搜索、整理、分析、描述数据等手段,以达到推断所测对象的本质,甚至预测对象未来的一门综合性科学。统计学用到了大量的数学及其它学科的专业知识,其应用范围几乎覆盖了社会科学和自然科学的各个领域,而在数据量极大的互联网领域也不例外,因此扎实的统计学基础是一个优秀的数据分析师必备的技能。统计学的知识包括了图形信息化、数据的集中趋势、概率计算、排列组合、连续型概率分布、离散型概率分布、假设检验、相关和回归等知识,对于具体的知识点,楼主就不一一介绍了,感兴趣的同学请参考书籍《深入浅出统计学》、《统计学:从数据到结论》,今天的分享主要会选取统计学中几个容易混淆的、比较重要的知识点进行分享。
数据万花筒
2020/12/30
2.8K0
不得不学的统计学基础知识(一)
概率论13 中心极限定律
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!
Vamei
2018/09/25
7790
概率论13 中心极限定律
[Skill]程序员须掌握的概率统计基础知识
计算机科学作为理工科一个独特的分支,本质上仍然是建立在逻辑思维上的一门科学,良好的概率论思维有助于设计高效可行的算法。
TOMOCAT
2020/06/10
6140
统计学基础(二)
大数定律就以严格的数学形式表现了随机现象的一个性质,平稳结果的稳定性(或者说频率的稳定性);
用户5473628
2019/08/08
6660
概率论13 中心极限定律
在整个概率论中,核心的问题是随机变量的分布。正如我们在离散分布和连续分布中看到的,分布有许多种类。更夸张的是,在满足概率公理的前提下,我们完全可以自行设计分布。想像一下,如果有一天数学书上印一个Vamei分布,这是多么美好的事情啊!然而,这一愿望并不那么容易实现。那些“名流”分布,比如“泊松”,“高斯”,“伯努利”分布,往往在理论上很重要,所以得到了数学家的深入研究。“知名”分布的特性(比如它们的期望、方差、累计概率函数)可以很容易在数学手册中找到,这些研究成果也成为概率论“军火库”的重要部分。 另一方面,
Vamei
2018/01/18
6310
概率论13 中心极限定律
中心极限定理通俗介绍
中心极限定理是统计学中比较重要的一个定理。 本文将通过实际模拟数据的形式,形象地展示中心极限定理是什么,是如何发挥作用的。
zenRRan
2018/07/25
1.3K0
中心极限定理通俗介绍
机器学习数学笔记|大数定理中心极限定理矩估计
课程传送门: http://www.julyedu.com/video/play/38
演化计算与人工智能
2020/08/14
6630
机器学习数学笔记|大数定理中心极限定理矩估计
如何理解95%置信区间_95的置信区间和90的置信区间
项目github地址:bitcarmanlee easy-algorithm-interview-and-practice 经常有同学私信或留言询问相关问题,V号bitcarmanlee。github上star的同学,在我能力与时间允许范围内,尽可能帮大家解答相关问题,一起进步。
全栈程序员站长
2022/11/09
4.2K0
如何理解95%置信区间_95的置信区间和90的置信区间
博客 | 机器学习中的数学基础(微积分和概率统计)
中国教科书中通常首先学习导数,例如中学时期的切线方程,函数单调性,零值点和极值点个数等等,而直到大学时期才引入微分的概念,导致大多数人通常并不了解微分和导数之间的关系。
AI研习社
2018/12/27
8160
博客 | 机器学习中的数学基础(微积分和概率统计)
我的机器学习概率论篇排列 组合古典概率联合概率条件概率全概率公式贝叶斯公式独立事件随机变量离散型随机变量连续型随机变量期望和方差三个基本定理参数估计
前言: 概率论的理解有些抽象,掌握概率论的方法,用实际样本去无限接近真实,熟练掌握并且使用一些最基本的概念是前提,比如,均值,方差 排列 组合 计算各种公式的基础 排列 image.png
DC童生
2018/04/27
2.1K0
我的机器学习概率论篇排列 组合古典概率联合概率条件概率全概率公式贝叶斯公式独立事件随机变量离散型随机变量连续型随机变量期望和方差三个基本定理参数估计
推荐阅读
相关推荐
大数定理与中心极限定理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档