几行代码就可以轻松给你的程序加上进度条
时间:2022-07-26
本文章向大家介绍几行代码就可以轻松给你的程序加上进度条,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
00
迷人的进度条
进度条是一个过程剩余时间的可视化表示。它们使您不必担心进程是否挂起,也不必尝试预测代码的进展情况。您可以实时直观地看到脚本进行得有多好!
如果您以前从未考虑过或使用过进度条,那么很容易认为它们会给您的代码增加不必要的复杂性,并且很难维护。这与事实相去甚远。通过几行代码,我们将看到如何向命令行脚本添加进度条。
01
使用Progress库
首先要使用的python库是Progress。
您所需要做的就是定义您希望进行的迭代次数、bar的类型,并在每次迭代时让bar知道。
import time
from progress.bar import IncrementalBar
mylist = [1,2,3,4,5,6,7,8]
bar = IncrementalBar('Countdown', max = len(mylist))
for item in mylist:
bar.next()
time.sleep(1)
bar.finish()
运行结果:
03
使用tqdm库
接下来要介绍的是tqdm库。
用于Python和CLI的快速、可扩展的进度条
就像我们看到的上一个库一样,我们可以用几行代码引入一个progres条。在设置上只有细微的差别:
import time
from tqdm import tqdm
mylist = [1,2,3,4,5,6,7,8]
for i in tqdm(mylist):
time.sleep(1)
运行结果:
03
使用Alive Progress库
顾名思义,这个库试图激活进度条。它比我们之前看到的进度条有更多的动画。但是在代码方面,它非常相似:
from alive_progress import alive_bar
import time
mylist = [1,2,3,4,5,6,7,8]
with alive_bar(len(mylist)) as bar:
for i in mylist:
bar()
time.sleep(1)
运行结果:
04
使用PySimpleGUI的图形化进度条
我们可以添加一行代码来将图形化的进度条添加到命令行脚本中。
要实现上述目标,我们所需要的是:
import PySimpleGUI as sg
import time
mylist = [1,2,3,4,5,6,7,8]
for i, item in enumerate(mylist):
sg.one_line_progress_meter('This is my
progress meter!', i+1, len(mylist), '-key-')
time.sleep(1)
·END·
- 简析.NET Core 以及与 .NET Framework的关系
- 1627: [Usaco2007 Dec]穿越泥地
- 1651: [Usaco2006 Feb]Stall Reservations 专用牛棚
- 1615: [Usaco2008 Mar]The Loathesome Hay Baler麻烦的干草打包机
- Polyspace不认识Interrupt,肿么办?
- 1639: [Usaco2007 Mar]Monthly Expense 月度开支
- 1638: [Usaco2007 Mar]Cow Traffic 奶牛交通
- 1642: [Usaco2007 Nov]Milking Time 挤奶时间
- 1625: [Usaco2007 Dec]宝石手镯
- 1613: [Usaco2007 Jan]Running贝茜的晨练计划
- 1677: [Usaco2005 Jan]Sumsets 求和
- 1609: [Usaco2008 Feb]Eating Together麻烦的聚餐
- 1602: [Usaco2008 Oct]牧场行走
- 【LeetCode 500】关关的刷题日记27 Keyboard Row
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux根文件系统:/etc/init.d/rcS文件分析
- C语言写简单的单项链表
- Qt音视频开发21-通用硬解码
- Linux面试题基础宝典==面试必备
- linux常见面试题
- SignalR实现网页实时聊天功能
- 关于权限的一些想法
- AB153x API----captouch驱动程序
- Hacking with iOS: SwiftUI Edition - 愿望清单项目(二)
- C#设备处理类操作
- x509数字证书导入-然后删除自身
- winform总结4> 工欲善其事,必先利其器之xml校验
- 如何利用SNMP实现网络攻击缓解?
- winform总结5> winform程序开发注意事项
- mvc文件上传支持批量上传,拖拽以及预览,文件内容校验