介紹幾種給你的Python代碼加上酷炫的進度條的方式

前言

本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。

大家好,在下載某些文件的時候你一定會不時盯着進度條,在寫代碼的時候使用進度條可以便捷的觀察任務處理情況,除了使用print來打印之外,今天本文就介紹幾種給你的Python代碼加上酷炫的進度條的方式。

 

自定義ProgressBar

最原始的辦法就是不借助任何第三方工具,自己寫一個進度條函數,使用time模塊配合sys模塊即可

 

 

 

 

自己定義的好處就是可以將進度條定義成我們想要的形式比如上面就是使用#與·來輸出,爲什麼不用print?因爲sys.stdout就是print的一種默認輸出格式,而sys.stdout.write()可以不換行打印,sys.stdout.flush()可以立即刷新輸出的內容。當然也可以封裝成類來更好的使用[1] ,但效果是類似的。

 

 

 

 

 

tqdm

之前我們說了,自定義的好處就是可以自己修改,那麼使用第三方庫的好處就是可以偷懶,不用自己寫,拿來就能用。比如提到Python進度條那肯定會想到常用的tqdm,安裝很簡單pip install tqdm即可,使用也很簡單,幾行代碼即可實現上面的進度條

 

 

 

 

當然tqdm作爲老牌的Python進度條工具,循環處理、多進程、多線程、遞歸處理等都是支持的,你可以在官方GitHub上學習[2] 、解鎖更多的玩法。

 

Rich

上面兩種實現Python進度條的方法都學會了嗎,雖然簡單但是看上去並不漂亮,顏色也比較單調。所以最後壓軸出場的就是一款比較小衆的第三方庫Rich[3] 。Rich主要是用於在終端中打印豐富多彩的文本(最高支持1670萬色)

 

所以當然可以使用Rich打印進度條,顯示完成百分比,剩餘時間,數據傳輸速度等都可以。並且樣式更加酷炫,並且它是高度可配置的,因此我們可以對其進行自定義以顯示所需的任何信息。使用也很簡單,比如我們使用Rich來實現一個最簡單的進度條

 

 

 

 

同時Rich支持多個進度條,這在多任務情況下監控的進度很有用(使用方法見官方文檔)

 

歡迎點擊左上角關注小編,除了分享技術文章之外還有很多福利,私信學習資料可以領取包括不限於Python實戰演練、PDF電子文檔、面試集錦、學習資料等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章