六種酷炫Python運(yùn)行進(jìn)度條效果的實現(xiàn)代碼
本文介紹了目前6種比較常用的進(jìn)度條,讓大家都能直觀地看到腳本運(yùn)行最新的進(jìn)展情況
1.普通進(jìn)度條
在代碼迭代運(yùn)行中可以自己進(jìn)行統(tǒng)計計算,并使用格式化字符串輸出代碼運(yù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) progress_bar()
進(jìn)度條1
2.帶時間進(jìn)度條
導(dǎo)入time模塊來計算代碼運(yùn)行的時間,加上代碼迭代進(jìn)度使用格式化字符串來輸出代碼運(yùn)行進(jìn)度
import time scale = 50 print("執(zhí)行開始,祈禱不報錯".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é)束,萬幸".center(scale // 2,"-"))
進(jìn)度條2
3.tpdm進(jìn)度條
這是一個專門生成進(jìn)度條的工具包,可以使用pip在終端進(jìn)行下載,當(dāng)然還能切換進(jìn)度條風(fēng)格
from time import sleep from tqdm import tqdm # 這里同樣的,tqdm就是這個進(jìn)度條最常用的一個方法 # 里面存一個可迭代對象 for i in tqdm(range(1, 500)): # 模擬你的任務(wù) sleep(0.01) sleep(0.5)
相關(guān)文檔:https://tqdm.github.io/
4.progress進(jìn)度條
你只需要定義迭代的次數(shù)、進(jìn)度條類型并在每次迭代時告知進(jìn)度條即可,具體代碼案例如下
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()
相關(guān)文檔:https://pypi.org/project/progress/1.5/
5.alive_progress進(jìn)度條
顧名思義,這個庫可以使得進(jìn)度條變得生動起來,它比原來我們見過的進(jìn)度條多了一些動畫效果,需要使用pip進(jìn)行下載,代碼案例如下:
from alive_progress import alive_bar items = range(100) # retrieve your set of items with alive_bar(len(items)) as bar: # declare your expected total for item in items: # iterate as usual # process each item bar() time.sleep(0.1)
相關(guān)文檔:https://github.com/rsalmei/alive-progress
6.可視化進(jìn)度條
用 PySimpleGUI 得到圖形化進(jì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)
到此這篇關(guān)于六種酷炫Python運(yùn)行進(jìn)度條的文章就介紹到這了,更多相關(guān)Python運(yùn)行進(jìn)度條內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pycharm安裝教程(下載安裝以及設(shè)置中文界面)
這篇文章主要給大家介紹了關(guān)于pycharm安裝教程,文中包括下載安裝以及設(shè)置中文界面,PyCharm是一款Python IDE,其帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,需要的朋友可以參考下2023-10-10