欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用python制作進(jìn)度條的方法小結(jié)

 更新時間:2024年04月12日 10:19:48   作者:碼銀  
偶然間刷到一個視頻,說到:當(dāng)程序正在運算時,會有一個較長時間的空白期,誰也不知道程序運行的進(jìn)度如何,不如給他加個進(jìn)度條,于是我今個就搜尋一下,Python版的進(jìn)度條都可以怎么寫,感興趣的小伙伴跟著小編一起來看看吧

正文

1、數(shù)字進(jìn)度條

進(jìn)度條的格式是"{當(dāng)前循環(huán)次數(shù)} / {總循環(huán)次數(shù)}"。其中,循環(huán)次數(shù)從1開始,到500,000結(jié)束。

通過使用end='\r'參數(shù),print語句的輸出不會換行,而是每次循環(huán)都會覆蓋上一次的輸出。這樣就實現(xiàn)了實時更新進(jìn)度條的效果。

for i in range(500000):
 
    print(f'{i+1} / {500000}',end='\r')

2、使用百分號表示進(jìn)度

for i in range(500):
    for j in range(5000):
        print(f'{((i+1)*100 // 500)}%',end='\r')

3、 使用字符完成簡易進(jìn)度條

該代碼將打印出一行字符,并且字符的總長度為50個字符。 其中,字符的內(nèi)容為"@"的重復(fù),重復(fù)的次數(shù)為50次。 外面的"| |"是用來給字符串添加邊框的,以增加可讀性。

 
for i in range(500):
    for j in range(500):
        print("進(jìn)度條:"f'|{"@"*((i+1)*50 // 500):50}|',end='\r')
 
print("\n程序完成")

3和4是可以結(jié)合起來的 :

for i in range(500):
    for j in range(500):
        print("進(jìn)度條:"f'|{"@"*((i+1)*50 // 500):50}|',f'{((i+1)*100 // 500)}%',end='\r')
 
print("\n程序完成")

輸出結(jié)果:

進(jìn)度條:|@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@| 100%

4、使用tqdm庫完成進(jìn)度條

官網(wǎng):tqdm · PyPI

 安裝這個庫:pip install tqdm。

示例代碼:

from tqdm import tqdm
import time
 
for i in tqdm(range(500)):
        time.sleep(0.1)

5、使用alive-progress庫完成進(jìn)度條

官網(wǎng)鏈接:alive-progress · PyPI

安裝庫:pip install alive-progress 

示例代碼:

from alive_progress import alive_bar
import time
 
with alive_bar(100, force_tty=True) as bar:
        for i in range(100):
                time.sleep(0.1)
                bar()

6、使用rich庫完成進(jìn)度條

安裝庫: pip install rich

import time
from rich.progress import track
 
for i in track(range(100),description="進(jìn)度:"):
    time.sleep(0.1)

這個截圖沒有在Pycharm編輯器里截圖的原因是:

顯示不全哈哈。

7、讓文心一言給我畫一個

import time  
import sys  
  
def print_progress_bar(iteration, total, prefix='', suffix='', decimals=1, length=100, fill='█', print_end="\r"):  
    """  
    調(diào)用該函數(shù)時傳入:  
        iteration   - 當(dāng)前的進(jìn)度(Int)  
        total       - 總進(jìn)度(Int)  
        prefix      - 前綴字符串(Str)  
        suffix      - 后綴字符串(Str)  
        decimals    - 正數(shù)的小數(shù)位數(shù)(Int)  
        length      - 進(jìn)度條長度(Int)  
        fill        - 進(jìn)度條填充字符(Str)  
        print_end   - 結(jié)束字符(Str),默認(rèn)是"\r",表示進(jìn)度條更新在同一行  
    """  
    percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total)))  
    filled_length = int(length * iteration // total)  
    bar = fill * filled_length + '-' * (length - filled_length)  
    print(f'\r{prefix} |{bar}| {percent}% {suffix}', end=print_end)  
    # 當(dāng)完成進(jìn)度時,打印一個換行符  
    if iteration == total:   
        print()  
  
# 使用示例  
for i in range(1, 101):  
    print_progress_bar(i, 100, prefix='進(jìn)度:', suffix='完成', length=50)  
    time.sleep(0.01)  # 休眠0.01秒,模擬進(jìn)度更新

備注信息

Rich 是一個 Python 庫,主要用于在終端中提供富文本和精美格式。它通過 API 允許用戶輕松地為終端輸出添加顏色和樣式,支持繪制漂亮的表格、進(jìn)度條、markdown 格式輸出、語法高亮、源代碼回溯等多種功能。Rich 庫支持在 Linux、OSX 和 Windows 上運行,其中在新的 Windows 終端上可以支持真彩色和表情符號,而經(jīng)典終端的色彩限制為8種顏色。此外,Rich 還可以與 Jupyter 筆記本一起使用,無需其他配置。

tqdm源自阿拉伯語塔卡杜姆(?????)意思是“進(jìn)步”,在西班牙語中是“我非常愛你”的縮寫(特奎羅·德馬西亞多)。立即讓你的循環(huán)顯示一個智能的進(jìn)度條。

alive-progress的一些亮點:

  • 一個令人著迷的實時微調(diào)器,清楚地顯示您的冗長過程沒有崩潰,您的 SSH 連接沒有凍結(jié),視覺反饋會對您的處理速度做出反應(yīng)。
  • 一個高效的多線程欄,以實際處理速度的一小部分進(jìn)行自我更新,以保持較低的 CPU 使用率并避免終端垃圾郵件(每秒 1,000,000 次迭代相當(dāng)于每秒大約 60 次更新,您也可以根據(jù)自己的喜好進(jìn)行校準(zhǔn))。
  • ETA(預(yù)計到達(dá)時間)功能,具有智能指數(shù)平滑算法,可顯示完成時間,使您能夠更有效地計劃時間并管理工作負(fù)載。
  • 自動打印記錄掛鉤,提供無縫集成和輕松跟蹤,甚至在它們發(fā)生時用當(dāng)前的條形位置來豐富它們。
  • 當(dāng)處理完成時,它會打印出一個不錯的收據(jù),包括經(jīng)過的時間和觀察到的吞吐量。
  • 它檢測溢和溢出,使您能夠跟蹤命中、未命中或任何所需的計數(shù),而不一定是實際迭代。
  • 你可以暫停它!沒錯,你先在這里聽到了!任何地方都沒有其他進(jìn)度條具有此功能!您可以在任何處理過程中返回 Python 提示符,調(diào)整一些項目,然后回到該正在運行的進(jìn)程,就好像它從未停止過一樣!所有小部件都保持原樣,經(jīng)過的時間很好地忽略了暫停的時間!alive_bar
  • 它是高度可定制的,有各種微調(diào)器和酒吧樣式,以及幾個現(xiàn)成的工廠,可以輕松生成你的!您甚至可以使用超級強(qiáng)大且酷炫的工具來幫助您設(shè)計自己的動畫!您可以在屏幕上看到所有生成的幀和循環(huán),具有多個詳細(xì)級別,甚至包括生動的再現(xiàn)!無限的創(chuàng)造力觸手可及

以上就是使用python制作進(jìn)度條的方法小結(jié)的詳細(xì)內(nèi)容,更多關(guān)于python制作進(jìn)度條的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • matplotlib 多個圖像共用一個colorbar的實現(xiàn)示例

    matplotlib 多個圖像共用一個colorbar的實現(xiàn)示例

    這篇文章主要介紹了matplotlib 多個圖像共用一個colorbar的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • python安裝教程

    python安裝教程

    這篇文章主要為大家詳細(xì)介紹了python安裝教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 解析ROC曲線繪制(python+sklearn+多分類)

    解析ROC曲線繪制(python+sklearn+多分類)

    這篇文章主要介紹了解析ROC曲線繪制(python+sklearn+多分類),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • DES加密解密算法之python實現(xiàn)版(圖文并茂)

    DES加密解密算法之python實現(xiàn)版(圖文并茂)

    這篇文章主要介紹了DES加密解密算法之python實現(xiàn)版,圖文并茂的為大家分享一下,需要的朋友可以參考下
    2018-12-12
  • Python?Flask-Login構(gòu)建強(qiáng)大的用戶認(rèn)證系統(tǒng)實例探究

    Python?Flask-Login構(gòu)建強(qiáng)大的用戶認(rèn)證系統(tǒng)實例探究

    這篇文章主要為大家介紹了Python?Flask-Login構(gòu)建強(qiáng)大的用戶認(rèn)證系統(tǒng)示例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 一文了解Python并發(fā)編程的工程實現(xiàn)方法

    一文了解Python并發(fā)編程的工程實現(xiàn)方法

    這篇文章主要介紹了Python并發(fā)編程的工程實現(xiàn),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • Python高級應(yīng)用實例對比:高效計算大文件中的最長行的長度

    Python高級應(yīng)用實例對比:高效計算大文件中的最長行的長度

    在操作某個很多進(jìn)程都要頻繁用到的大文件的時候,應(yīng)該盡早釋放文件資源(f.close()),只有這樣才能算是一則高效率的代碼,下面我們就來分析下這3種方法的優(yōu)劣
    2014-06-06
  • Python的Bottle框架的一些使用技巧介紹

    Python的Bottle框架的一些使用技巧介紹

    這篇文章主要介紹了Python的Bottle框架的一些使用技巧,文中用代碼舉例介紹了這些技巧用到的特性,需要的朋友可以參考下
    2015-04-04
  • Python中請不要再用re.compile了

    Python中請不要再用re.compile了

    這篇文章主要給大家介紹了關(guān)于Python中為何不要再用re.compile的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 基于python實現(xiàn)圖書管理系統(tǒng)

    基于python實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了基于python實現(xiàn)圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04

最新評論