您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python怎么實現進度條式”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Python怎么實現進度條式”文章能幫助大家解決問題。
第一個要介紹的 Python 庫是 Progress。
你只需要定義迭代的次數、進度條類型并在每次迭代時告知進度條。
import timefrom progress.bar import IncrementalBarmylist = [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()
Progress 實現的進度條效果如下:
如果你不喜歡該進度條的格式,還可以從以下格式中挑選:
下面我們看一下 tqdm 庫。
和之前見過的庫差不多,這兩行代碼也非常相似,在設置方面有一點點不同:
import timefrom tqdm import tqdmmylist = [1,2,3,4,5,6,7,8]for i in tqdm(mylist): time.sleep(1)
tqdm 實現的進度條效果如下:
這個進度條也提供了幾種選項。
顧名思義,這個庫可以使得進度條變得生動起來,它比原來我們見過的進度條多了一些動畫效果。
從代碼角度來說比較相似:
from alive_progress import alive_barimport timemylist = [1,2,3,4,5,6,7,8] with alive_bar(len(mylist)) as bar: for i in mylist: bar() time.sleep(1)
進度條的外觀和預期差不多:
這種進度條有一些與眾不同的功能,使用起來會比較有趣,功能詳情可見項目:https://github.com/rsalmei/alive-progress
(1) 用 PySimpleGUI 得到圖形化進度條
我們可以加一行簡單的代碼,在命令行腳本中得到圖形化進度條。
為了實現上述內容,我們需要的代碼是:
import PySimpleGUI as sgimport timemylist = [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)
(2) PySimpleGUI 應用程序中的進度條
項目作者之前曾經在 GitHub 上討論過「如何快速啟動 Python UI,然后使用 UI 創建比較工具」。在這個項目里,作者還討論了一下如何集成進度條。
代碼如下:
import PySimpleGUI as sgimport timemylist = [1,2,3,4,5,6,7,8] progressbar = [ [sg.ProgressBar(len(mylist), orientation='h', size=(51, 10), key='progressbar')]] outputwin = [ [sg.Output(size=(78,20))]] layout = [ [sg.Frame('Progress',layout= progressbar)], [sg.Frame('Output', layout = outputwin)], [sg.Submit('Start'),sg.Cancel()]] window = sg.Window('Custom Progress Meter', layout) progress_bar = window['progressbar'] while True: event, values = window.read(timeout=10) if event == 'Cancel' or event is None: break elif event == 'Start': for i,item in enumerate(mylist): print(item) time.sleep(1) progress_bar.UpdateBar(i + 1)window.close()
關于“Python怎么實現進度條式”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。