Python 實(shí)現(xiàn)進(jì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)
if __name__ == '__main__':
progress_bar()
展現(xiàn)形式

二、帶時(shí)間的進(jìn)度條
導(dǎo)入time模塊來(lái)計(jì)算代碼運(yùn)行的時(shí)間,加上代碼迭代進(jìn)度使用格式化字符串來(lái)輸出代碼運(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é)束,萬(wàn)幸".center(scale // 2,"-"))
展現(xiàn)形式

三、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)
展現(xiàn)形式

四、progress 進(jìn)度條
只需要定義迭代的次數(shù)、進(jìn)度條類型并在每次迭代時(shí)告知進(jìn)度條即可
相關(guān)文檔:https://pypi.org/project/progress/1.5/
示例代碼
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()
展現(xiàn)形式

五、alive_progress 進(jìn)度條
顧名思義,這個(gè)庫(kù)可以使得進(jìn)度條變得生動(dòng)起來(lái),它比原來(lái)我們見過(guò)的進(jìn)度條多了一些動(dòng)畫效果,需要使用pip進(jìn)行下載
相關(guān)文檔:https://github.com/rsalmei/alive-progress
示例代碼
from alive_progress import alive_bar
# retrieve your set of items
items = range(100)
# declare your expected total
with alive_bar(len(items)) as bar:
# iterate as usual
for item in items:
# process each item
bar()
time.sleep(0.1)
展現(xiàn)形式

六、可視化進(jìn)度條
用 PySimpleGUI 得到圖形化進(jìn)度條,我們可以加一行簡(jiǎ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)
展現(xiàn)形式

以上就是Python 實(shí)現(xiàn)進(jìn)度條的六種方式的詳細(xì)內(nèi)容,更多關(guān)于python 實(shí)現(xiàn)進(jìn)度條的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python HTMLTestRunner如何下載生成報(bào)告
這篇文章主要介紹了Python HTMLTestRunner如何下載生成報(bào)告,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
Python實(shí)現(xiàn)模擬登錄及表單提交的方法
這篇文章主要介紹了Python實(shí)現(xiàn)模擬登錄及表單提交的方法,涉及Python正則匹配、cookie及URL操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
django 通過(guò)URL訪問(wèn)上傳的文件方法
今天小編就為大家分享一篇django 通過(guò)URL訪問(wèn)上傳的文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07
Python數(shù)據(jù)分析之分析千萬(wàn)級(jí)淘寶數(shù)據(jù)
網(wǎng)購(gòu)已經(jīng)成為人們生活不可或缺的一部分,本次項(xiàng)目基于淘寶app平臺(tái)數(shù)據(jù),通過(guò)相關(guān)指標(biāo)對(duì)用戶行為進(jìn)行分析,從而探索用戶相關(guān)行為模式。感興趣的可以學(xué)習(xí)一下2022-03-03
Python利用OpenCV和skimage實(shí)現(xiàn)圖像邊緣檢測(cè)
提取圖片的邊緣信息是底層數(shù)字圖像處理的基本任務(wù)之一。本文將通過(guò)OpenCV和skimage的?Canny?算法實(shí)現(xiàn)圖像邊緣檢測(cè),感興趣的可以了解一下2022-12-12
Python實(shí)現(xiàn)實(shí)時(shí)顯示進(jìn)度條的六種方法
這篇文章主要為大家介紹了Python實(shí)現(xiàn)實(shí)時(shí)顯示進(jìn)度條,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助<BR>2021-12-12

