python项⽬进度管理_4种常⽤Python进度条库,学会就是时间
管理⼤师!
选⾃towardsdatascience 作者:Costas Andreou
机器之⼼编译
我们都知道,进度条是⽤来直观展⽰流程所需时间的优秀⼯具,以免我们担⼼流程会突然挂掉,⽽且我们可以⽤它来预测代码运⾏是否正常,借助进度条,每个⼈都能直观地看到脚本最新的进展情况。
如果你之前没⽤过进度条,⼋成是觉得它会增加不必要的复杂性或者很难维护,其实不然。要加⼀个进度条其实只需要⼏⾏代码。在这⼏⾏代码中,我们可以看看如何在命令⾏脚本以及 PySimpleGUI UI 中添加进度条。
下⽂将介绍 4 个常⽤的 Python 进度条库:
Progress
第⼀个要介绍的 Python 库是 Progress。
你只需要定义迭代的次数、进度条类型并在每次迭代时告知进度条。
import timefrom progress.bar
import IncrementalBarmylist = [1,2,3,4,5,6,7,8]
bar = IncrementalBar('Countdown', max = len(mylist))
for item in mylist:
<()
time.sleep(1)
bar.finish()
Progress 实现的进度条效果如下:
如果你不喜欢该进度条的格式,还可以从以下格式中挑选:
tqdm
下⾯我们看⼀下 tqdm 库。
和之前见过的库差不多,这两⾏代码也⾮常相似,在设置⽅⾯有⼀点点不同:
import timefrom tqdm
import tqdmmylist = [1,2,3,4,5,6,7,8]
for i in tqdm(mylist):
time.sleep(1)
tqdm 实现的进度条效果如下:
这个进度条也提供了⼏种选项。
Alive Progress
顾名思义,这个库可以使得进度条变得⽣动起来,它⽐原来我们见过的进度条多了⼀些动画效果。
从代码⾓度来说⽐较相似:
from alive_progress import alive_barimport
timemylist = [1,2,3,4,5,6,7,8]
with alive_bar(len(mylist)) as bar:
for i in mylist:
bar()
time.sleep(1)
进度条的外观和预期差不多:
PySimpleGUI
⽤ PySimpleGUI 得到图形化进度条
我们可以加⼀⾏简单的代码,在命令⾏脚本中得到图形化进度条。
为了实现上述内容,我们需要的代码是:
import PySimpleGUI as sgimport
timemylist = [1,2,3,4,5,6,7,8]
for i, item in enumerate(mylist):
<_line_progress_meter('This is my progress meter!', i+1, len(mylist), '-key-')
time.sleep(1)
PySimpleGUI 应⽤程序中的进度条
项⽬作者之前曾经在 GitHub 上讨论过「如何快速启动 Python UI,然后使⽤ UI 创建⽐较⼯具」。在这个项⽬⾥,作者还讨论了⼀下如何集成进度条。
代码如下:
import PySimpleGUI as sgimport
python新建项目教程timemylist = [1,2,3,4,5,6,7,8]
progressbar = [ [sg.ProgressBar(len(mylist), orientation='h', size=(51, 10), key='progressbar')]]
outputwin = [ [sg.Output(size=(78,20))]]
layout = [ [sg.Frame('Progress',layout= progressbar)], [sg.Frame('Output', layout = outputwin)],
[sg.Submit('Start'),sg.Cancel()]]
window = sg.Window('Custom Progress Meter', layout)
progress_bar = window['progressbar'] while True:
event, values = ad(timeout=10)
if event == 'Cancel' or event is None:
break
elif event == 'Start':
for i,item in enumerate(mylist):
print(item)
time.sleep(1)
progress_bar.UpdateBar(i + 1)window.close()
没错,在 Python 脚本中使⽤进度条只需要⼏⾏代码,⼀点也不复杂。有了进度条,以后也不⽤再猜测脚本运⾏地怎么样了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论