關(guān)于Python中進(jìn)度條的六個(gè)實(shí)用技巧分享
1 簡(jiǎn)介
費(fèi)老師我在幾年前寫(xiě)過(guò)的一篇文章(http://www.dbjr.com.cn/article/243348.htm)中,介紹過(guò)tqdm這個(gè)在當(dāng)下Python圈子中已然非常流行的進(jìn)度條庫(kù),可以幫助我們?yōu)槿魏尉哂醒h(huán)迭代過(guò)程的代碼邏輯添加進(jìn)度條,從而幫助我們感知代碼運(yùn)行的過(guò)程。
而隨著tqdm這幾年來(lái)的發(fā)展迭代,更多更好用的功能加入其中,今天的文章中我就給大家總結(jié)了6條非常值得學(xué)習(xí)的tqdm特性。
2 tqdm中實(shí)用的6個(gè)特性
2.1 autonotebook自動(dòng)切換進(jìn)度條風(fēng)格
用過(guò)tqdm的朋友們大都知道它可以在常規(guī)的終端以及jupyter風(fēng)格的各種編輯器中使用,且在后者中會(huì)以更美觀的形式進(jìn)行渲染,而以往我們通常需要在常規(guī)的終端里使用from tqdm import tqdm
,在jupyter風(fēng)格的編輯器中使用from tqdm.notebook import tqdm
來(lái)分別導(dǎo)入。
而tqdm最近幾個(gè)版本中引入了實(shí)驗(yàn)性質(zhì)的新特性,使得我們只需要統(tǒng)一通過(guò)from tqdm.autonotebook import tqdm
導(dǎo)入tqdm,就可以自適應(yīng)檢測(cè)不同的運(yùn)行環(huán)境從而自動(dòng)控制顯示:
2.2 延遲渲染進(jìn)度條
有時(shí)候我們希望當(dāng)循環(huán)過(guò)程很快就執(zhí)行完時(shí),可以不打印進(jìn)度條,畢竟進(jìn)度條的主要目的是監(jiān)控長(zhǎng)時(shí)間運(yùn)行過(guò)程,這時(shí)我們就可以給tqdm()
添加參數(shù)delay來(lái)設(shè)置延時(shí)的秒數(shù),當(dāng)循環(huán)過(guò)程實(shí)際運(yùn)行時(shí)長(zhǎng)低于delay則無(wú)需打印多余的迭代過(guò)程:
2.3 自定義進(jìn)度條色彩
通過(guò)為tqdm()
設(shè)置參數(shù)colour,可以傳入多種常見(jiàn)色彩格式值,這在jupyter類編輯器中效果尤為明顯:
2.4 自主控制的進(jìn)度上限
有些情況下,我們傳入tqdm()
的對(duì)象在迭代過(guò)程中是無(wú)法預(yù)先計(jì)算得到進(jìn)度上限輪次的,典型如pandas中數(shù)據(jù)框的itertuples()
,這種時(shí)候我們就可以利用total參數(shù)自行預(yù)設(shè)上限:
2.5 針對(duì)enumerate、zip和map的替代
Python中除了常規(guī)的循環(huán)過(guò)程以外,還有幾種內(nèi)置函數(shù)也具有迭代循環(huán)的屬性,而tqdm為了方便我們對(duì)這些非典型的循環(huán)過(guò)程添加進(jìn)度條,也單獨(dú)開(kāi)發(fā)了tenumerate、tzip以及tmap這三個(gè)API,用于替代enumerate、zip和map:
2.6 設(shè)置進(jìn)度條“用完即逝”
當(dāng)我們希望為多層循環(huán)過(guò)程添加進(jìn)度條監(jiān)視時(shí),常規(guī)的為每一層都直接使用tqdm()
,會(huì)導(dǎo)致打印出過(guò)多的進(jìn)度條,反而不利于我們觀察進(jìn)度過(guò)程。
而通過(guò)使用tqdm.auto
中的trange()
,我們可以通過(guò)設(shè)置參數(shù)leave=False
,來(lái)讓我們對(duì)應(yīng)的進(jìn)度條加載到頭就自動(dòng)消失掉,譬如下面動(dòng)圖中所展示的例子:
總結(jié)
到此這篇關(guān)于Python中進(jìn)度條的六個(gè)實(shí)用技巧分享的文章就介紹到這了,更多相關(guān)Python進(jìn)度條實(shí)用技巧內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
3分鐘學(xué)會(huì)一個(gè)Python小技巧
Python時(shí)間日期轉(zhuǎn)換在開(kāi)發(fā)中是非常高頻的一個(gè)操作,你經(jīng)常會(huì)遇到需要將字符串轉(zhuǎn)換成 datetime 或者是反過(guò)來(lái)將 datetime 轉(zhuǎn)換成字符串,今天小編給大家?guī)?lái)了一個(gè)Python小技巧,感興趣的朋友一起看看吧2018-11-11淺談python在提示符下使用open打開(kāi)文件失敗的原因及解決方法
今天小編就為大家分享一篇淺談python在提示符下使用open打開(kāi)文件失敗的原因及解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11Python設(shè)計(jì)模式之工廠方法模式實(shí)例詳解
這篇文章主要介紹了Python設(shè)計(jì)模式之工廠方法模式,結(jié)合實(shí)例形式較為詳細(xì)的分析了工廠方法模式的概念、原理、用法及相關(guān)操作技巧,需要的朋友可以參考下2019-01-01基于Python寫(xiě)個(gè)"點(diǎn)球大戰(zhàn)"小游戲
這篇文章主要為大家詳細(xì)介紹了如何利用Python寫(xiě)個(gè)簡(jiǎn)單的"點(diǎn)球大戰(zhàn)"小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-12-12跟老齊學(xué)Python之集成開(kāi)發(fā)環(huán)境(IDE)
IDE的全稱是:Integrated Development Environment,簡(jiǎn)稱IDE,也稱為Integration Design Environment、Integration Debugging Environment,翻譯成中文叫做“集成開(kāi)發(fā)環(huán)境”,在臺(tái)灣那邊叫做“整合開(kāi)發(fā)環(huán)境”。2014-09-09python?命令行參數(shù)模塊argparse的實(shí)現(xiàn)
本文主要介紹了python?命令行參數(shù)模塊argparse的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03