日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
2019年的代碼都寫(xiě)完了嗎?不如做個(gè)Python進(jìn)度條看看還剩多少

我們都知道,進(jìn)度條是用來(lái)直觀展示流程所需時(shí)間的優(yōu)秀工具,以免我們擔(dān)心流程會(huì)突然掛掉,而且我們可以用它來(lái)預(yù)測(cè)代碼運(yùn)行是否正常,借助進(jìn)度條,每個(gè)人都能直觀地看到腳本比較新的進(jìn)展情況。 

如果你之前沒(méi)用過(guò)進(jìn)度條,八成是覺(jué)得它會(huì)增加不必要的復(fù)雜性或者很難維護(hù),其實(shí)不然。要加一個(gè)進(jìn)度條其實(shí)只需要幾行代碼。在這幾行代碼中,我們可以看看如何在命令行腳本以及 PySimpleGUI UI 中添加進(jìn)度條。

下文將介紹 4 個(gè)常用的 Python 進(jìn)度條庫(kù):

Progress

第一個(gè)要介紹的 Python 庫(kù)是 Progress。

你只需要定義迭代的次數(shù)、進(jìn)度條類(lèi)型并在每次迭代時(shí)告知進(jìn)度條。 

 
 
 
 
  1. import timefrom progress.bar import 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() 

Progress 實(shí)現(xiàn)的進(jìn)度條效果如下: 

Progressbar 的增量進(jìn)度條

如果你不喜歡該進(jìn)度條的格式,還可以從以下格式中挑選: 

ProgressBar 支持的進(jìn)度條類(lèi)型。

相關(guān)文檔:https://pypi.org/project/progress/1.5/

tqdm

下面我們看一下 tqdm 庫(kù)。

和之前見(jiàn)過(guò)的庫(kù)差不多,這兩行代碼也非常相似,在設(shè)置方面有一點(diǎn)點(diǎn)不同: 

 
 
 
 
  1. importtimefromtqdmimporttqdmmylist=[1,2,3,4,5,6,7,8]foriintqdm(mylist):  time.sleep(1) 

tqdm 實(shí)現(xiàn)的進(jìn)度條效果如下: 

這個(gè)進(jìn)度條也提供了幾種選項(xiàng)。

相關(guān)文檔:https://tqdm.github.io/

Alive Progress

顧名思義,這個(gè)庫(kù)可以使得進(jìn)度條變得生動(dòng)起來(lái),它比原來(lái)我們見(jiàn)過(guò)的進(jìn)度條多了一些動(dòng)畫(huà)效果。 

從代碼角度來(lái)說(shuō)比較相似: 

 
 
 
 
  1. 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) 

進(jìn)度條的外觀和預(yù)期差不多: 

這種進(jìn)度條有一些與眾不同的功能,使用起來(lái)會(huì)比較有趣,功能詳情可見(jiàn)項(xiàng)目:https://github.com/rsalmei/alive-progress

PySimpleGUI

用 PySimpleGUI 得到圖形化進(jìn)度條

我們可以加一行簡(jiǎn)單的代碼,在命令行腳本中得到圖形化進(jìn)度條。 

為了實(shí)現(xiàn)上述內(nèi)容,我們需要的代碼是: 

 
 
 
 
  1. import PySimpleGUI as sgimport timemylist = [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) 

PySimpleGUI 應(yīng)用程序中的進(jìn)度條

項(xiàng)目作者之前曾經(jīng)在 GitHub 上討論過(guò)「如何快速啟動(dòng) Python UI,然后使用 UI 創(chuàng)建比較工具」。在這個(gè)項(xiàng)目里,作者還討論了一下如何集成進(jìn)度條。 

代碼如下: 

 
 
 
 
  1. import PySimpleGUI as sgimport 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 = window.read(timeout=10)   if event == 'Cancel' or event is None:     break elifevent=='Start':  fori,iteminenumerate(mylist):    print(item)    time.sleep(1)    progress_bar.UpdateBar(i+1)window.close() 

沒(méi)錯(cuò),在 Python 腳本中使用進(jìn)度條只需要幾行代碼,一點(diǎn)也不復(fù)雜。有了進(jìn)度條,以后也不用再猜測(cè)腳本運(yùn)行地怎么樣了。


文章名稱(chēng):2019年的代碼都寫(xiě)完了嗎?不如做個(gè)Python進(jìn)度條看看還剩多少
分享網(wǎng)址:http://m.5511xx.com/article/cojjojs.html