Python簡(jiǎn)單實(shí)現(xiàn)一個(gè)數(shù)字動(dòng)態(tài)進(jìn)度條
咪哥雜談

本篇閱讀時(shí)間約為 5 分鐘。
1
前言
曾經(jīng)初學(xué) Python 爬蟲(chóng)時(shí),在中國(guó)慕課網(wǎng)上學(xué)習(xí)爬蟲(chóng)視頻時(shí),看到一個(gè)很有意思的優(yōu)化,有時(shí)候我們進(jìn)行爬取內(nèi)容時(shí),為了用戶體驗(yàn)較好,可以動(dòng)態(tài)顯示出爬取的進(jìn)度。
對(duì)于進(jìn)度條的實(shí)現(xiàn)來(lái)說(shuō),其實(shí)容易…明白了其背后的簡(jiǎn)單數(shù)學(xué)方法,只需一行即可實(shí)現(xiàn)。
先來(lái)看下效果:

2
思路及代碼講解
假設(shè)有一個(gè)1000000數(shù)據(jù)的列表(為了讓進(jìn)度條可以顯示出來(lái),很大的數(shù)據(jù)),我們每次循環(huán)遍歷這個(gè)列表時(shí)向文件中輸出,其中增加一個(gè)計(jì)數(shù)器,每次寫(xiě)文件的過(guò)程中循環(huán)通過(guò)計(jì)數(shù)器來(lái)記錄,而最后顯示的百分比進(jìn)度則是用
(計(jì)數(shù)器/list的長(zhǎng)度)*100。二、代碼實(shí)現(xiàn)

其中的核心代碼利用了 Python 自帶的 print 小技巧,可以看下面的解釋:
'''\r:每次講控制臺(tái)的光標(biāo)移動(dòng)到首位,去掉則不會(huì)呈現(xiàn)刷新的效果,最終是打印一行.end='':print輸出不換行,若去掉,則會(huì)在控制臺(tái)每次換行打印當(dāng)前進(jìn)度.'''print('\r當(dāng)前速度:{:.2f}%'.format(count*100/len(list_bar)),end='')
3
Python第三方進(jìn)度條庫(kù)
tqdm,在早期的這篇文章,曾經(jīng)用過(guò)此庫(kù):python小課堂17 - 30行代碼破解加密ZIP文件
感興趣可以看下,使用方法非常簡(jiǎn)單,只需將你循環(huán)遍歷的對(duì)象套上它即可,不過(guò)多贅述。
4
結(jié)語(yǔ)
好啦,這就是本期的全部?jī)?nèi)容了,如果你有什么想溝通的歡迎評(píng)論區(qū)留言!
評(píng)論
圖片
表情
