<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python制作進(jìn)度條,原來(lái)有這么多方法

          共 3639字,需瀏覽 8分鐘

           ·

          2021-07-18 10:42

          點(diǎn)擊上方Python知識(shí)圈,設(shè)為星標(biāo)

          回復(fù)100獲取100題PDF

          閱讀文本大概需要 5 分鐘


          原文鏈接: 

          https://towardsdatascience.com/learning-to-use-progress-bars-in-python-2dc436de81e5

          如果你之前沒(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)度條類型并在每次迭代時(shí)告知進(jìn)度條。

          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)度條類型。

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

          tqdm

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

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

          import timefrom tqdm 
          import tqdmmylist = [1,2,3,4,5,6,7,8]
          for i in tqdm(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ō)比較相似:

          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)容,我們需要的代碼是:

          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)度條。

          代碼如下:

          import PySimpleGUI as sgimport 
          timemylist = [1,2,3,4,5,6,7,8]
          progressbar = [ [sg.ProgressBar(len(mylist), orientation= h , size=(5110), 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 
            elif event ==  Start : 
              for i,item in enumerate(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)行地怎么樣了。




          PS:我自己建了一個(gè)每天可領(lǐng)外賣(mài)優(yōu)惠券的號(hào),經(jīng)常領(lǐng)到15元的無(wú)門(mén)檻券,不花冤枉錢(qián)~
          加微信送《Python知識(shí)點(diǎn)100題PDF》

          pk哥個(gè)人微信


          添加pk哥個(gè)人微信即送Python資料


          Python知識(shí)點(diǎn)100題的PDF

          Python相關(guān)的電子書(shū)10本


          記得備注:“100題”




          往期推薦
          01

          公眾號(hào)所有文章匯總導(dǎo)航(2-10更新)

          02

          永久白嫖!新發(fā)現(xiàn)的外賣(mài)漏洞!!請(qǐng)低調(diào)使用

          03

          求你了,別再用 pip 那烏龜?shù)乃俣热グ惭b庫(kù)了!


          點(diǎn)擊閱讀原文查看pk哥原創(chuàng)視頻

          我就知道你“在看”

          瀏覽 24
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人网在线免费观看 | 免费看的黄色视频 | 四虎永久www成人影院 | 黄色片在线播放视频 | 男女色色视频网站 |