Python 實現進度條的六種方式
示例代碼
import sysimport timedef 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)if __name__ == ’__main__’: progress_bar()
展現形式
導入time模塊來計算代碼運行的時間,加上代碼迭代進度使用格式化字符串來輸出代碼運行進度
示例代碼
import timescale = 50print('執行開始,祈禱不報錯'.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,'-'))
展現形式
這是一個專門生成進度條的工具包,可以使用pip在終端進行下載,當然還能切換進度條風格
示例代碼
from time import sleepfrom tqdm import tqdm# 這里同樣的,tqdm就是這個進度條最常用的一個方法# 里面存一個可迭代對象for i in tqdm(range(1, 500)): # 模擬你的任務 sleep(0.01)sleep(0.5)
展現形式
只需要定義迭代的次數、進度條類型并在每次迭代時告知進度條即可
相關文檔:https://pypi.org/project/progress/1.5/
示例代碼
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()
展現形式
顧名思義,這個庫可以使得進度條變得生動起來,它比原來我們見過的進度條多了一些動畫效果,需要使用pip進行下載
相關文檔:https://github.com/rsalmei/alive-progress
示例代碼
from alive_progress import alive_bar# retrieve your set of itemsitems = range(100) # declare your expected total with alive_bar(len(items)) as bar: # iterate as usual for item in items: # process each item bar() time.sleep(0.1)
展現形式
用 PySimpleGUI 得到圖形化進度條,我們可以加一行簡單的代碼,在命令行腳本中得到圖形化進度條,也是使用pip進行下載
示例代碼
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)
展現形式
以上就是Python 實現進度條的六種方式的詳細內容,更多關于python 實現進度條的資料請關注好吧啦網其它相關文章!
相關文章:
1. jsp網頁實現貪吃蛇小游戲2. jsp+servlet簡單實現上傳文件功能(保存目錄改進)3. JavaScript實現組件化和模塊化方法詳解4. ASP.NET MVC遍歷驗證ModelState的錯誤信息5. HTML5 Canvas繪制圖形從入門到精通6. .Net Core和RabbitMQ限制循環消費的方法7. 淺談SpringMVC jsp前臺獲取參數的方式 EL表達式8. SpringMVC+Jquery實現Ajax功能9. ASP中if語句、select 、while循環的使用方法10. asp(vbs)Rs.Open和Conn.Execute的詳解和區別及&H0001的說明
