<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運(yùn)行進(jìn)度條

          共 2502字,需瀏覽 6分鐘

           ·

          2020-07-21 16:11

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

          回復(fù)1024獲取Python資料



          閱讀文本大概需要 3?分鐘


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

          你的代碼進(jìn)度還剩多少?


          今天給大家介紹下目前6種比較常用的進(jìn)度條,讓大家都能直觀地看到腳本運(yùn)行最新的進(jìn)展情況。

          • 1.普通進(jìn)度條

          • 2.帶時(shí)間進(jìn)度條

          • 3.tpdm進(jìn)度條

          • 4.progress進(jìn)度條

          • 5.alive_progress進(jìn)度條

          • 6.可視化進(jìn)度條

          1.普通進(jìn)度條

          在代碼迭代運(yùn)行中可以自己進(jìn)行統(tǒng)計(jì)計(jì)算,并使用格式化字符串輸出代碼運(yùn)行進(jìn)度。


          import?sys
          import?time
          def?progress_bar():
          ????for?i?in?range(1,?101):
          ????????print("\r",?end="")
          ????????print("Download?progress:?{}%:?".format(i),?"▋"?*?(i?//?2),?end="")
          ????????sys.stdout.flush()
          ????????time.sleep(0.05)
          progress_bar()

          013738f4b752ae96df8171e2820b6e0a.webp進(jìn)度條1

          2.帶時(shí)間進(jìn)度條

          導(dǎo)入time模塊來計(jì)算代碼運(yùn)行的時(shí)間,加上代碼迭代進(jìn)度使用格式化字符串來輸出代碼運(yùn)行進(jìn)度。


          import?time
          scale?=?50
          print("執(zhí)行開始,祈禱不報(bào)錯(cuò)".center(scale?//?2,"-"))
          start?=?time.perf_counter()
          for?i?in?range(scale?+?1):
          ????a?=?"*"?*?i
          ????b?=?"."?*?(scale?-?i)
          ????c?=?(i?/?scale)?*?100
          ????dur?=?time.perf_counter()?-?start
          ????print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end?=?"")
          ????time.sleep(0.1)
          print("\n"+"執(zhí)行結(jié)束,萬幸".center(scale?//?2,"-"))

          44b7728765b6f6b905a01b5ad0ca414a.webp進(jìn)度條2

          3.tpdm進(jìn)度條

          這是一個(gè)專門生成進(jìn)度條的工具包,可以使用pip在終端進(jìn)行下載,當(dāng)然還能切換進(jìn)度條風(fēng)格。


          from?time?import?sleep
          from?tqdm?import?tqdm
          #?這里同樣的,tqdm就是這個(gè)進(jìn)度條最常用的一個(gè)方法
          #?里面存一個(gè)可迭代對(duì)象
          for?i?in?tqdm(range(1,?500)):
          ???#?模擬你的任務(wù)
          ???sleep(0.01)
          sleep(0.5)

          75b9db389d5fb96c46b4c7f4099b2188.webp

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

          4.progress進(jìn)度條

          你只需要定義迭代的次數(shù)、進(jìn)度條類型并在每次迭代時(shí)告知進(jìn)度條即可,具體代碼案例如下

          import?time
          from?progress.bar?import?IncrementalBar
          mylist?=?[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()

          88990f8f45e697490be8b4eef16795a9.webp

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

          5.alive_progress進(jìn)度條

          顧名思義,這個(gè)庫可以使得進(jìn)度條變得生動(dòng)起來,它比原來我們見過的進(jìn)度條多了一些動(dòng)畫效果,需要使用pip進(jìn)行下載,代碼案例如下:


          from?alive_progress?import?alive_bar
          items?=?range(100)??????????????????#?retrieve?your?set?of?items
          with?alive_bar(len(items))?as?bar:???#?declare?your?expected?total
          ????for?item?in?items:???????????????#?iterate?as?usual
          ????????#?process?each?item
          ????????bar()
          ????????time.sleep(0.1)

          b78f690239c279627b7e1e6e3dd5e9bb.webp

          相關(guān)文檔:https://github.com/rsalmei/alive-progress

          6.可視化進(jìn)度條

          用 PySimpleGUI 得到圖形化進(jìn)度條,我們可以加一行簡單的代碼,在命令行腳本中得到圖形化進(jìn)度條,也是使用pip進(jìn)行下載,代碼案例如下


          import?PySimpleGUI?as?sg
          import?time
          mylist?=?[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)


          26327abf523e4bd276befcc87530c9f9.webp




          0ef8c1c349e881b76975755b1d3e7393.webp
          -----------------------公眾號(hào):Python知識(shí)圈博客:www.pyzhishiquan.com知乎Python知識(shí)圈微信視頻號(hào):菜鳥程序員 (分享有趣的編程技巧、Python技巧)bilibili:菜鳥程序員的日常(目前原創(chuàng)視頻:18,累計(jì)播放量:70萬)

          一個(gè)學(xué)習(xí)Python的人,喜歡分享,喜歡搞事情!

          長按下圖二維碼關(guān)注,和你一起領(lǐng)悟Python的魅力。



          Python知識(shí)圈公眾號(hào)的交流群已經(jīng)建立,群里可以領(lǐng)取 Python 和人工智能學(xué)習(xí)資料,大家可以一起學(xué)習(xí)交流,效率更高,如果是想發(fā)推文、廣告、砍價(jià)小程序的敬請(qǐng)繞道!一定記得備注「交流學(xué)習(xí)」,我會(huì)盡快通過好友申請(qǐng)哦!通過好友后私聊我「學(xué)習(xí)資料」或者「進(jìn)群」都可以。

          掃碼添加,備注:交流學(xué)習(xí)




          往期推薦01

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

          02

          10大免費(fèi)的白嫖網(wǎng)站

          03

          打基礎(chǔ)一定要吃透這12類 Python 內(nèi)置函數(shù)


          我就知道你“在看”908b4ddb2fee93df12923319f18bc1d5.webp


          瀏覽 63
          點(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>
                  免费操逼网站直接入看泡芙视频 | 又爽又黄无遮挡网站 | 中字三级视频网站在线观看 | 中文无码不卡 | 香港操逼视频 |