編程學習網 > 編程語言 > Python > Python 進度條:告別枯燥等待,讓你的程序動感十足!
2024
07-30

Python 進度條:告別枯燥等待,讓你的程序動感十足!


在日常編程中,我們經常會遇到需要處理耗時任務的情況,例如文件下載、數據處理等等??粗绦蜻\行,卻只能干巴巴地等待,實在令人心焦。別擔心!今天就來教你如何使用 Python 創建炫酷的進度條,告別枯燥等待,讓你的程序動感十足!

1. tqdm:簡單易用的進度條神器
tqdm 是一個功能強大的進度條庫,可以輕松地為循環和迭代添加進度條,并顯示進度百分比、已處理數據量、剩余時間等信息。
from tqdm import tqdm
import time

for i in tqdm(range(100)):  # 為循環添加進度條
    time.sleep(0.01)  # 模擬耗時操作
運行這段代碼,你將看到一個不斷更新的進度條,顯示當前進度、剩余時間等信息。


2. 自定義進度條樣式
tqdm 還支持自定義進度條樣式,例如更改顏色、添加描述信息等。
from tqdm import tqdm

for i in tqdm(range(100), desc="數據處理中", colour="green"):  # 設置描述信息和顏色
    time.sleep(0.01)


3. 多重進度條:同時追蹤多個任務
當需要同時處理多個任務時,可以使用 tqdm 的多重進度條功能,分別顯示每個任務的進度。
from tqdm import tqdm
from time import sleep
from concurrent.futures import ThreadPoolExecutor, as_completed


def task(name):
    for i in tqdm(range(100), desc=f"任務 {name}"):
        sleep(0.01)


with ThreadPoolExecutor() as executor:
    futures = [executor.submit(task, name) for name in ['A', 'B', 'C']]

    for _ in tqdm(as_completed(futures), total=len(futures), desc="總進度"):
        pass


4. alive-progress:動態炫酷的進度條
alive-progress  庫提供了更加生動、炫酷的進度條樣式,例如旋轉動畫、閃爍效果等,讓你的程序更具吸引力。
from alive_progress import alive_bar

with alive_bar(100, title="下載中") as bar:  # 使用 alive_bar 創建進度條
    for i in range(100):
        bar()  # 更新進度條
        time.sleep(0.02)



5. 整合進度條到你的項目中
將進度條整合到你的項目中非常簡單,只需將需要顯示進度的代碼包裹在 tqdm 或 alive-progress  的進度條對象中即可。
from alive_progress import alive_bar
import time

# 自定義旋轉動畫字符
spinner_frames = ['?', '?', '?', '?', '?', '?', '?', '?', '?', '?']

with alive_bar(100, title='處理中...', spinner=spinner_frames, bar='blocks', force_tty=True) as bar:
    for i in range(100):
        bar()  # 更新進度條
        if i % 10 == 0:
            print("\033[2J\033[H", end='')  # 清空屏幕,實現閃爍效果
        time.sleep(0.1)



總結

進度條是提升用戶體驗的重要元素,可以讓用戶實時了解程序運行狀態,告別枯燥等待。本文介紹了幾種常用的 Python 進度條庫,并提供了詳細的代碼示例,希望能幫助你為自己的程序添加炫酷的進度條。

以上就是Python 進度條:告別枯燥等待,讓你的程序動感十足!的詳細內容,想要了解更多Python教程歡迎持續關注編程學習網。

掃碼二維碼 獲取免費視頻學習資料

Python編程學習

查 看2022高級編程視頻教程免費獲取