欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python制作進度條的四種方法總結(jié)

 更新時間:2022年11月09日 14:00:33   作者:快學Python  
如果你之前沒用過進度條,八成是覺得它會增加不必要的復雜性或者很難維護,其實不然。要加一個進度條其實只需要幾行代碼,快跟隨小編一起學習學習吧

如果你之前沒用過進度條,八成是覺得它會增加不必要的復雜性或者很難維護,其實不然。要加一個進度條其實只需要幾行代碼。

在這幾行代碼中,我們可以看看如何在命令行腳本以及 PySimpleGUI UI 中添加進度條。

下文將介紹 4 個常用的 Python 進度條庫:

Progress

第一個要介紹的 Python 庫是 Progress。

你只需要定義迭代的次數(shù)、進度條類型并在每次迭代時告知進度條。

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 實現(xiàn)的進度條效果如下:

Progressbar 的增量進度條

如果你不喜歡該進度條的格式,還可以從以下格式中挑選:

ProgressBar 支持的進度條類型。

相關(guān)文檔:https://pypi.org/project/progress/1.5/

tqdm

下面我們看一下 tqdm 庫。

和之前見過的庫差不多,這兩行代碼也非常相似,在設置方面有一點點不同:

import?timefrom?tqdm?
import?tqdmmylist?=?[1,2,3,4,5,6,7,8]
for?i?in?tqdm(mylist):?
??time.sleep(1)

tqdm 實現(xiàn)的進度條效果如下:

這個進度條也提供了幾種選項。

相關(guān)文檔:https://tqdm.github.io/

Alive Progress

顧名思義,這個庫可以使得進度條變得生動起來,它比原來我們見過的進度條多了一些動畫效果。

從代碼角度來說比較相似:

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

PySimpleGUI

用 PySimpleGUI 得到圖形化進度條

我們可以加一行簡單的代碼,在命令行腳本中得到圖形化進度條。

為了實現(xiàn)上述內(nèi)容,我們需要的代碼是:

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)

PySimpleGUI 應用程序中的進度條項目作者之前曾經(jīng)在 GitHub 上討論過「如何快速啟動 Python UI,然后使用 UI 創(chuàng)建比較工具」。

在這個項目里,作者還討論了一下如何集成進度條。

代碼如下:

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 腳本中使用進度條只需要幾行代碼,一點也不復雜。有了進度條,以后也不用再猜測腳本運行的怎么樣了。

到此這篇關(guān)于Python制作進度條的四種方法總結(jié)的文章就介紹到這了,更多相關(guān)Python制作進度條內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解讀Opencv中Filter2D函數(shù)的補全方式

    解讀Opencv中Filter2D函數(shù)的補全方式

    這篇文章主要介紹了解讀Opencv中Filter2D函數(shù)的補全方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • numpy添加新的維度:newaxis的方法

    numpy添加新的維度:newaxis的方法

    今天小編就為大家分享一篇numpy添加新的維度:newaxis的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-08-08
  • Jetson?NX?配置?pytorch的問題及解決方法

    Jetson?NX?配置?pytorch的問題及解決方法

    這篇文章主要介紹了Jetson?NX?配置?pytorch的相關(guān)知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • TensorFlow的自動求導原理分析

    TensorFlow的自動求導原理分析

    這篇文章主要介紹了TensorFlow的自動求導原理分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python 人工智能老照片修復算法學習

    Python 人工智能老照片修復算法學習

    老舊或者破損的照片如何修復呢?本文主要介紹了一個非常不錯的照片恢復開源項目:Bringing-Old-Photos-Back-to-Life。感興趣的小伙伴快來看看呀
    2021-11-11
  • python編程學習np.float 被刪除的問題解析

    python編程學習np.float 被刪除的問題解析

    這篇文章主要為大家介紹了python編程學習np.float 被刪除的問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • python集合常見運算案例解析

    python集合常見運算案例解析

    這篇文章主要介紹了python集合常見運算,結(jié)合具體實例形式分析了Python使用集合生成隨機數(shù)的幾種常用算法的效率比較,需要的朋友可以參考下
    2019-10-10
  • anaconda中安裝的python環(huán)境中沒有pip3的問題及解決

    anaconda中安裝的python環(huán)境中沒有pip3的問題及解決

    這篇文章主要介紹了anaconda中安裝的python環(huán)境中沒有pip3的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • Python機器學習入門(六)之Python優(yōu)化模型

    Python機器學習入門(六)之Python優(yōu)化模型

    這篇文章主要介紹了Python機器學習入門知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Python Pandas list列表數(shù)據(jù)列拆分成多行的方法實現(xiàn)

    Python Pandas list列表數(shù)據(jù)列拆分成多行的方法實現(xiàn)

    這篇文章主要介紹了Python Pandas list(列表)數(shù)據(jù)列拆分成多行的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12

最新評論