我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python 输出命令行进度条

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python 输出命令行进度条

在使用 pip 安装时,你会发现有下载进度条,我们也可以借助开源的第三方库来实现这个功能,在项目输出时增加一些可视化效果。

一个简单易用的第三方库是:progress

作者提供了动图很直观地展现了实现的所有输出。

 

这个库实现了两类样式,一类是有终点的进度条样式,另一类是多用于加载的转圈样式。

import time
from progress.bar import Bar

bar = Bar('Processing', max=100, fill='@', suffix='%(percent)d%%')
for i in range(100):
    time.sleep(0.1)
    bar.next()
bar.finish()

参数定义的功能:

  • max: 进度条最大进度
  • fill:进度条填充的字符
  • suffix:百分比的样式

运行上述代码会得到输出

Processing |@@@@@@                          | 20%

同时也提供上下文的用法(需要用 Github 里的源代码):

with Bar('Processing', max=20) as bar:
    for i in range(20):
        # Do some work
        bar.next()

 

另一类转圈样式,用法和Bar类似,只要没达到终点就一直调用next方法即可

from progress.spinner import Spinner

spinner = Spinner('Loading ')
while state != 'FINISHED':
    # Do some work
    spinner.next()

 

动图里的所有样式都是作者已经实现的派生类,用法基本都一样,当然也可以继承基础类来自己实现更多的功能。

class SlowBar(Bar):
    suffix = '%(remaining_hours)d hours remaining'
    @property
    def remaining_hours(self):
        return self.eta // 3600

上面介绍的库,实现的功能很简单,而且默认只能输出到终端。

如果有更复杂的使用场景,推荐使用另一个库:python-progressbar

这个库实现了更多功能,可以自定义组合出一个进度条样式,还可以指定输出流。

 

基本的使用很简单,可以直接传入迭代对象。

import time
import progressbar

for i in progressbar.progressbar(range(100)):
    time.sleep(0.02)

输出如下:

70% (70 of 100) |################       | Elapsed Time: 0:00:01 ETA:   0:00:00

 

也可以生成对象后调用update方法 。

import time
import progressbar

bar = progressbar.ProgressBar(max_value=100)
for i in range(100):
    time.sleep(0.1)
    bar.update(i)

 

最有特点之处就是可以自定义组件,比如我们来实现类似于动图中转圈加载的样式。

import time
import progressbar

widgets = [
    'Loading: ',
    '[', progressbar.AnimatedMarker(), ']',
    ' ',
    progressbar.Timer()
]
bar = progressbar.ProgressBar(
    widgets=widgets, max_value=progressbar.UnknownLength)

for i in range(100):
    time.sleep(0.5)
    bar.update(i)

输出样式是这样的,方括号中的会一直旋转

Loading: [\] Elapsed Time: 0:00:13

 

更多功能不再赘述,可以查看 Github 中的文档

 

欢迎关注

微信公众号:面向人生编程

编程思维不应只存留在代码之中,更应伴随于整个人生旅途,这个公众号不只聊技术,还会聊产品/互联网/经济学等广泛话题,所以也欢迎非程序员关注。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python 输出命令行进度条

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python 输出命令行进度条

在使用 pip 安装时,你会发现有下载进度条,我们也可以借助开源的第三方库来实现这个功能,在项目输出时增加一些可视化效果。一个简单易用的第三方库是:progress作者提供了动图很直观地展现了实现的所有输出。​ 这个库实现了两类样式,一类是
2023-01-30

怎么在linux 命令行中输出一个进度条

本篇文章给大家分享的是有关怎么在linux 命令行中输出一个进度条,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。什么是Linux系统Linux是一种免费使用和自由传播的类UNI
2023-06-07

怎么在 linux命令行中输出一个进度条

怎么在 linux命令行中输出一个进度条?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。代码如下:
2023-06-13

Python 获取命令行输出

使用的是windows系统,python 2.7。import oscommand = 'ping www.baidu.com ' #可以直接在命令行中执行的命令r = os.popen(command) #执行该命令info = r.re
2023-01-31

怎么从Linux命令行进行打印输出

这篇文章主要讲解了“怎么从Linux命令行进行打印输出”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么从Linux命令行进行打印输出”吧!Linux 命令行打印很容易。你可以使用 lp 命
2023-06-15

python获取命令行输出结果

python获取命令行输出结果,并对结果进行过滤找到自己需要的!这里以获取本机MAC地址和IP地址为例!# coding: GB2312 import os, re # execute command, and return the o
2023-01-31

退出Python命令行

3种: 1.quit(), 2.exit() 3.Ctrl d。 ctrl d快捷键最方便。
2023-01-31

Linux中如何使用ps命令输出进行排序

这篇文章主要介绍了Linux中如何使用ps命令输出进行排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ps命令是理解Linux系统上运行的内容和每个进程使用的资源的关键。了
2023-06-15

进入mysql命令行和退出mysql命令行详解

目录进入mysql命令退出mysql命令mysql命令行常用语句进入mysql之前基础命令行语句关于mysql用户访问与权限进入mysql命令mysql -u 用户名 -p回车然后输密码或mysql -u用户名 -p回车然后输密码
2022-11-22

Python进行JSON格式化输出

先写一个字典并将其转换成JSON格式:# encoding:utf-8import jsondic = {'a': 1, 'b': 2, 'c': 3}js = json.dumps(dic)print(js)打印出的是如下这个样子,一行式
2023-01-31

如何退出python命令行

两种方法1. 在">>>" 命令行状态输入 quit()并按回车2.在 ">>>"命令行状态输入 ctrl+Z 并按回车
2023-01-31

python怎么进入命令行

在 python 中进入命令行的方法有:使用 subprocess 模块直接打开交互式命令行。通过 os.system() 函数调用命令行命令。使用 shelve 模块创建持久的命令行。使用第三方库,如 pexpect、paramiko 或
python怎么进入命令行
2024-05-14

CentOS怎么查看命令执行进度

这篇文章给大家分享的是有关CentOS怎么查看命令执行进度的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。PV 全命为Pipe Viewer,利用它我们可以查看到命令执行的进度。# wget http://www.
2023-06-10

shell命令行如何实现输入与输出功能

这篇文章将为大家详细讲解有关shell命令行如何实现输入与输出功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。标准输入/输出和重定向,Linux发行版Fedora Core Linux,而Red Hat
2023-06-09

怎么使用pv命令监控Linux命令的执行进度

小编给大家分享一下怎么使用pv命令监控Linux命令的执行进度,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!PV 命令PV 由Andrew Wood 开发,是 P
2023-06-16

神奇的shell命令行输入与输出功能介绍

标准输入/输出和重定向,Linux发行版Fedora Core Linux,而Red Hat公司原来Red Hat Linux的开发团队也将继续参与这一发行版本的开发工作。 标准输入与输出 我们知道,执行一个shell命令行时通常会自动
2022-06-04

python怎么进入cmd命令行

可以使用python中的subprocess模块访问cmd命令行。步骤如下:导入subprocess模块创建一个popen对象读取标准输出和标准错误编码输出(可选)解析输出(可选)如何在Python中进入CMD命令行进入CMD命令行是Py
python怎么进入cmd命令行
2024-05-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录