1. 程式人生 > >python視覺化演算法執行進度(含輸出格式控制函式format用法)

python視覺化演算法執行進度(含輸出格式控制函式format用法)

使用PyPrind包實現演算法的進度條功能

在演算法執行過程中,使用PyPrind建立一個進度條物件,視覺化演算法的執行進度
官方地址:https://github.com/rasbt/pyprind
可以支援多種不同樣式的進度條顯示。

import pyprind
import time

pbar = pyprind.ProgBar(50)  # 表示總共更新50次,所以每次就佔2%
for i in range(50):
    time.sleep(0.1)
    pbar.update()

輸出:

0% [##############################] 100% | ETA: 00:00:00
Total time elapsed: 00:00:05

手工視覺化進度

為了更好的實現個性化,可以手工編寫關於描述進度的程式碼。
顯示進度的百分比情況:

import time

for i in range(101):
    time.sleep(0.1)
    # 轉義字元\r表示將行首,end=''表示輸出不換行
    print('\r{:2}%'.format(i), end='')

輸出:(動態上升的百分比)

34%

帶重新整理的文字進度條

import time

task = 100
scale = 10
start_time = time.time()
for i in range(1, 100): time.sleep(0.1) left = '*' * int((i / scale)) right = '.' * int((task - i) / scale) ratio = (i/task) * 100 print('\r{:^3.0f}%[{}->{}]{:.2f}s' .format(ratio, left, right, time.time()-start_time), end='')

輸出:

23 %[**->.......]2.32s

附錄:輸出格式控制函式format用法