細說PythonProgressBar

一、PythonProgressBar簡介

1、PythonProgressBar是一個Python庫,可以讓用戶在控制台中顯示進度條,並提供了豐富的樣式選擇和自定義操作方式。
2、PythonProgressBar基於Python標準庫中的”sys.stdout”標準輸出進行開發,讓用戶可以在控制台中輕鬆顯示進度條以及輸出文本信息。
3、PythonProgressBar提供豐富的樣式選擇,在保證易讀性和美觀性的前提下,用戶可以根據需要選擇不同的進度條樣式。

二、PythonProgressBar的基本使用

1、安裝PythonProgressBar

!pip install progressbar

2、引入progressbar模塊

import progressbar

3、構建進度條對象

bar = progressbar.ProgressBar()

4、使用進度條對象進行迭代操作

for i in bar(range(10)):
    # do something...

如上述代碼所示,在構建了進度條對象之後,用戶可以在其後進行任何帶有可迭代對象的循環操作,PythonProgressBar會自動根據循環進度進行更新進度條顯示狀態。

三、PythonProgressBar的高級用法

1、修改進度條的樣式

bar = progressbar.ProgressBar(widgets=[
    progressbar.DynamicMessage('loss'),
    progressbar.Percentage(),
    progressbar.Bar(),
    progressbar.Timer(),
    progressbar.AdaptiveETA(),
])

如上述代碼所示,用戶可以通過widgets參數指定進度條的樣式,其中”DynamicMessage”表示動態顯示一些文本信息,”Percentage”表示百分比進度,”Bar”表示進度條,”Timer”表示計時器,”AdaptiveETA”表示估計剩餘時間。

2、使用PythonProgressBar進行多線程操作

import threading

def do_something(bar):
    for i in bar(range(10)):
        # do something...

bar = progressbar.ProgressBar()
threads = []
for i in range(4):
    t = threading.Thread(target=do_something, args=(bar,))
    threads.append(t)
    t.start()

for t in threads:
    t.join()

如上述代碼所示,PythonProgressBar也可以和多線程結合使用,用戶可以在多個線程中共享同一個進度條對象,通過PythonProgressBar的自動計算進度,保證顯示的準確性。

四、PythonProgressBar應用案例

1、使用PythonProgressBar顯示數據加載進度

import pandas as pd

data = pd.read_csv('data.csv')
bar = progressbar.ProgressBar(max_value=len(data))
for i, row in data.iterrows():
    # do something...
    bar.update(i+1)

如上述代碼所示,用戶可以在數據分析過程中,使用PythonProgressBar顯示數據加載的進度,讓用戶了解程序運行的進度。

2、使用PythonProgressBar顯示計算進度

x, y = some_arrays()
bar = progressbar.ProgressBar(max_value=len(x)*len(y))
for i, xi in enumerate(x):
    for j, yj in enumerate(y):
        # do something...
        bar.update(i * len(y) + j + 1)

如上述代碼所示,用戶可以在計算過程中,使用PythonProgressBar顯示計算進度,讓用戶了解程序運行的進度。

五、PythonProgressBar的優缺點

1、優點:
① PythonProgressBar簡單易用,不需要額外設置輸出顯示區域。
② PythonProgressBar支持豐富的樣式選擇,保證了顯示效果的美觀性和易讀性。
③ PythonProgressBar支持多線程操作,可以在多線程中共享同一個進度條對象。

2、缺點:
① PythonProgressBar的顯示位置受限於Python標準輸出,無法在其他窗口中顯示進度條。
② PythonProgressBar的顯示效果受限於控制台字體和顏色設置,不能完全自定義。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/182979.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 16:25
下一篇 2024-11-24 16:25

發表回復

登錄後才能評論