当前位置: 首页 > 图灵资讯 > 行业资讯> Python中的进度条progressbar,让进度直观显示!

Python中的进度条progressbar,让进度直观显示!

来源:图灵python
时间: 2025-02-10 13:33:07

今天,我突然被问到一个问题:程序在执行过程中很长一段时间没有结束是怎么回事?我们看不到程序执行的进展。当我们进行大型项目时,这确实是一个令人头疼的问题。本文让我们了解一个非常常用的进度条显示小工具——Progressbar。

注:最新版本的用户不应遵循GitHub上的官方文档。如果文档信息没有维护,就会出现很多问题。

下载模块

pipinstallprogressbar

注:安装模块时可能会出现warning,耐心等待,总会出现success。

使用方法简单

importtime
fromprogressbarimport*

total=1000

deftest_func():
time.sleep(0.01)
progress=ProgressBar()
foriinprogress(range(1000)):
test_func()

对于简单的循环函数,我们只需要将其添加到结合progress方法的循环中。

我们将看到以下进度条:

cd612bc8cff019d2fd62e1fe7a06a71.png在循环外定义使用

#-*-coding=utf-8-*-
from__future__importpision
importsys,time
fromprogressbarimport*
total=1000
deftest_func():
time.sleep(0.01)
bar=ProgressBar().start()
foriinrange(1000):
bar.update(int((i/(total-1))*100))
test_func()
bar.finish()

注:不要忽视start()和fininsh(),否则会出现问题。

显示和使用多层信息

#-*-coding=utf-8-*-
importtime
fromprogressbarimport*
total=1000
deftest_func():
time.sleep(0.01)
widgets=[
'Progress:',
Percentage(),'',
Bar('#'),'',
Timer(),'',
ETA(),'',
FileTransferSpeed()
]
bar=ProgressBar(widgets=widgets,maxval=10*total).start()
foriinrange(total):
bar.update(10*i+1)
test_func()
bar.finish()

结果如下:

a67d2a27d347bf6c82460f61f4c9154.png参数说明:

'Progress: ' :设置进度条前显示的文本

Percentage() :显示百分比

Bar('#') :设置进度条形状

ETA() :预计剩余时间将显示

Timer() :显示已用时间

更多Python知识,请关注Python视频教程!!