选自towardsdatascience
作者:Costas Andreou
机器之心编译
参与:张倩、蛋酱
我们都知道,进度条是用来直观展示流程所需时间的优秀工具,以免我们担心流程会突然挂掉,而且我们可以用它来预测代码运行是否正常,借助进度条,每个人都能直观地看到脚本最新的进展情况。
import timefrom progress.barimport IncrementalBarmylist = [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()
Progressbar 的增量进度条
ProgressBar 支持的进度条类型。
import timefrom tqdmimport tqdmmylist = [1,2,3,4,5,6,7,8]for i in tqdm(mylist):time.sleep(1)
from alive_progress import alive_barimporttimemylist = [1,2,3,4,5,6,7,8]with alive_bar(len(mylist)) as bar:for i in mylist:bar()time.sleep(1)
import PySimpleGUI as sgimporttimemylist = [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)
import PySimpleGUI as sgimporttimemylist = [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 = window.read(timeout=10)if event == 'Cancel' or event is None:breakelif event == 'Start':for i,item in enumerate(mylist):print(item)time.sleep(1)progress_bar.UpdateBar(i + 1)window.close()