六種酷炫Python運行進度條

本文介紹了目前6種比較經常使用的進度條,讓你們都能直觀地看到腳本運行最新的進展狀況python

不少人學習python,不知道從何學起。
不少人學習python,掌握了基本語法事後,不知道在哪裏尋找案例上手。
不少已經作案例的人,殊不知道如何去學習更加高深的知識。
那麼針對這三類人,我給你們提供一個好的學習平臺,免費領取視頻教程,電子書籍,以及課程的源代碼!
QQ羣:1097524789git

  • 1.普通進度條github

  • 2.帶時間進度條vim

  • 3.tpdm進度條工具

  • 4.progress進度條學習

  • 5.alive_progress進度條動畫

  • 6.可視化進度條ui

  • 7.進度條?lua

1.普通進度條

在代碼迭代運行中能夠本身進行統計計算,並使用格式化字符串輸出代碼運行進度spa

import sys
import time
def progress_bar():
for i in range(1, 101):
print("\r", end="")
print("Download progress: {}%: ".format(i), "▋" * (i // 2), end="")
sys.stdout.flush()
time.sleep(0.05)
progress_bar()

進度條1

2.帶時間進度條

導入time模塊來計算代碼運行的時間,加上代碼迭代進度使用格式化字符串來輸出代碼運行進度

import time
scale = 50
print("執行開始,祈禱不報錯".center(scale // 2,"-"))
start = time.perf_counter()
for i in range(scale + 1):
a = "*" * i
b = "." * (scale - i)
c = (i / scale) * 100
dur = time.perf_counter() - start
print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end = "")
time.sleep(0.1)
print("\n"+"執行結束,萬幸".center(scale // 2,"-"))

進度條2

3.tpdm進度條

這是一個專門生成進度條的工具包,能夠使用pip在終端進行下載,固然還能切換進度條風格

from time import sleep
from tqdm import tqdm
# 這裏一樣的,tqdm就是這個進度條最經常使用的一個方法
# 裏面存一個可迭代對象
for i in tqdm(range(1, 500)):
# 模擬你的任務
sleep(0.01)
sleep(0.5)

相關文檔:https://tqdm.github.io/

4.progress進度條

你只須要定義迭代的次數、進度條類型並在每次迭代時告知進度條便可,具體代碼案例以下

import time
from progress.bar import IncrementalBar
mylist = [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()

相關文檔:https://pypi.org/project/progress/1.5/

5.alive_progress進度條

顧名思義,這個庫能夠使得進度條變得生動起來,它比原來咱們見過的進度條多了一些動畫效果,須要使用pip進行下載,代碼案例以下:

from alive_progress import alive_bar
items = range(100) # retrieve your set of items
with alive_bar(len(items)) as bar: # declare your expected total
for item in items: # iterate as usual
# process each item
bar()
time.sleep(0.1)

相關文檔:https://github.com/rsalmei/alive-progress

6.可視化進度條

用 PySimpleGUI 獲得圖形化進度條,咱們能夠加一行簡單的代碼,在命令行腳本中獲得圖形化進度條,也是使用pip進行下載,代碼案例以下

import PySimpleGUI as sg
import time
mylist = [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)

相關文章
相關標籤/搜索