Python實現(xiàn)實時顯示進度條的六種方法
相信大家對進度條一定不陌生了,比如在我們安裝python庫的時候可以看到下載的進度,此外在下載文件時也可以看到類似的進度條,比如下圖這種:
應(yīng)用場景:下載文件、任務(wù)計時等
今天辰哥就給大家分享Python的6種不同的實現(xiàn)實時顯示處理進度的方式,文中每一種方式都附帶一個案例,并提供官方文檔,供大家學(xué)習,自定義去修改。
第1種:普通進度條
利用打印功能print進行實時刷新顯示
for i in range(1, 101): print("\r", end="") print("進度: {}%: ".format(i), "▓" * (i // 2), end="") sys.stdout.flush() time.sleep(0.05)
第2種:帶時間的普通進度條
第2種同樣通過print進行打印進度條,不過還加入了time時間顯示,顯示進度過程中所需要的時間
t = 60 print("**************帶時間的進度條**************") start = time.perf_counter() for i in range(t + 1): finsh = "▓" * i need_do = "-" * (t - i) progress = (i / t) * 100 dur = time.perf_counter() - start print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(progress, finsh, need_do, dur), end="") time.sleep(0.05)
第3種:tqdm庫
tqdm是專門用于進度條的一個python庫,詳細的用法可以參考下方官方文檔
https://pypi.org/project/tqdm/#description
from tqdm import tqdm for i in tqdm(range(1, 60)): """ 代碼 """ # 假設(shè)這代碼部分需要0.05s,循環(huán)執(zhí)行60次 time.sleep(0.05)
第4種: alive_progress庫
alive_progress是一個動態(tài)的實時顯示進度條庫,詳細的用法可以參考下方官方文檔
https://pypi.org/project/alive-progress/#description
from alive_progress import alive_bar # 假設(shè)需要執(zhí)行100個任務(wù) with alive_bar(len(range(100))) as bar: for item in range(100): # 遍歷任務(wù) bar() # 顯示進度 """ 代碼 """ # 假設(shè)這代碼部分需要0.05s time.sleep(0.05)
第5種:PySimpleGUI庫
PySimpleGUI也是一種動態(tài)進度條庫,該庫是自帶GUI界面(基于PyQt,Tkinter等),詳細的用法可以參考下方官方文檔
https://pypi.org/project/PySimpleGUI/#description
import PySimpleGUI as sg count = range(100) for i, item in enumerate(count): sg.one_line_progress_meter('實時進度條', i + 1, len(count), '-key-') """ 代碼 """ # 假設(shè)這代碼部分需要0.05s time.sleep(0.05)
第6種:progressbar庫
https://pypi.org/project/progressbar/#description
import progressbar p = progressbar.ProgressBar() # # 假設(shè)需要執(zhí)行100個任務(wù),放到ProgressBar()中 for i in p(range(100)): """ 代碼 """ # 假設(shè)這代碼部分需要0.05s time.sleep(0.05)
總結(jié)
文中介紹了這6種實現(xiàn)實時進度條方式,并且都提供一個案例。對于Python庫方式的也附帶了官方文檔,便于大家學(xué)習。
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容
相關(guān)文章
python實現(xiàn)跨excel sheet復(fù)制代碼實例
這篇文章主要介紹了python實現(xiàn)跨excel sheet復(fù)制代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2020-03-03一文詳解Python中實現(xiàn)單例模式的幾種常見方式
這篇文章主要為大家介紹了Python中實現(xiàn)單例模式的幾種常見方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03python根據(jù)txt文本批量創(chuàng)建文件夾
這篇文章主要為大家詳細介紹了python根據(jù)txt文本批量創(chuàng)建文件夾,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-03-03PyTorch CUDA環(huán)境配置及安裝的步驟(圖文教程)
這篇文章主要介紹了PyTorch CUDA環(huán)境配置及安裝的步驟(圖文教程),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2021-04-04django foreignkey外鍵使用的例子 相當于left join
今天小編就為大家分享一篇django foreignkey外鍵使用的例子 相當于left join,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08PyCharm創(chuàng)建Django項目的簡單步驟記錄
PyCharm是一種Python?IDE,帶有一整套可以幫助用戶在使用Python語言開發(fā)時提高其效率的工具,下面這篇文章主要給大家介紹了關(guān)于利用PyCharm創(chuàng)建Django項目的簡單步驟,需要的朋友可以參考下2022-07-07