這篇文章主要介紹“Python實現實時顯示進度條的方法有哪些”,在日常操作中,相信很多人在Python實現實時顯示進度條的方法有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python實現實時顯示進度條的方法有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
相信大家對進度條一定不陌生了,比如在我們安裝python庫的時候可以看到下載的進度,此外在下載文件時也可以看到類似的進度條,比如下圖這種:
應用場景:下載文件、任務計時等
今天辰哥就給大家分享Python的6種不同的實現實時顯示處理進度的方式,文中每一種方式都附帶一個案例,并提供官方文檔,供大家學習,自定義去修改。
利用打印功能print進行實時刷新顯示
for i in range(1, 101): print("\r", end="") print("進度: {}%: ".format(i), "▓" * (i // 2), end="") sys.stdout.flush() time.sleep(0.05)
第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)
tqdm是專門用于進度條的一個python庫,詳細的用法可以參考下方官方文檔
https://pypi.org/project/tqdm/#description
from tqdm import tqdm for i in tqdm(range(1, 60)): """ 代碼 """ # 假設這代碼部分需要0.05s,循環執行60次 time.sleep(0.05)
alive_progress是一個動態的實時顯示進度條庫,詳細的用法可以參考下方官方文檔
https://pypi.org/project/alive-progress/#description
from alive_progress import alive_bar # 假設需要執行100個任務 with alive_bar(len(range(100))) as bar: for item in range(100): # 遍歷任務 bar() # 顯示進度 """ 代碼 """ # 假設這代碼部分需要0.05s time.sleep(0.05)
PySimpleGUI也是一種動態進度條庫,該庫是自帶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-') """ 代碼 """ # 假設這代碼部分需要0.05s time.sleep(0.05)
https://pypi.org/project/progressbar/#description
import progressbar p = progressbar.ProgressBar() # # 假設需要執行100個任務,放到ProgressBar()中 for i in p(range(100)): """ 代碼 """ # 假設這代碼部分需要0.05s time.sleep(0.05)
到此,關于“Python實現實時顯示進度條的方法有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。