python 進度條_六種酷炫Python運行進度條

轉自:一行數據

閱讀文本大概需要 3 分鐘

你的代碼進度還剩多少?

今天給大家介紹下目前6種比較常用的進度條,讓大家都能直觀地看到腳本運行最新的進展情況。

  • 1.普通進度條
  • 2.帶時間進度條
  • 3.tpdm進度條
  • 4.progress進度條
  • 5.alive_progress進度條
  • 6.可視化進度條

1.普通進度條

在代碼迭代運行中可以自己進行統計計算,并使用格式化字符串輸出代碼運行進度。

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

進度條1

2.帶時間進度條

導入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("{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end?=?"")????time.sleep(0.1)print(""+"執行結束,萬幸".center(scale?//?2,"-"))
8d343b9efc9ef5cd325540471b293cf7.gif

進度條2

3.tpdm進度條

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

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

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

4.progress進度條

你只需要定義迭代的次數、進度條類型并在每次迭代時告知進度條即可,具體代碼案例如下

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()
a0c5462dccf45357236786af0365ebfc.gif

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

5.alive_progress進度條

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

from?alive_progress?import?alive_baritems?=?range(100)??????????????????#?retrieve?your?set?of?itemswith?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)
0b7134fcb75090a574a9385f6e307943.gif

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

6.可視化進度條

用 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)
0aa2dd2055918dcfc1110a01426179b7.gif

感謝閱讀

cc3405575b50d0a85e45e124c81a454c.png

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454359.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454359.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454359.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

js 獲取多少天前

getBeforeDate: function(day, str) { var now new Date().getTime(); //獲取毫秒數 var before new Date(now - ((day > 0 && day ? day : 0) * 86400 * 1000)); var year before.getFullYear(); var month before.getMonth()1; var date before.getDate(); …

程序員的基本素質

給所有立志成為程序員的朋友 以及 自勉之! 程序員基本素質: 作一個真正合格的程序員,或者說就是可以真正合格完成一些代碼工作的程序員,應該具有的素質。 1:團隊精神和協作能力 把它作為基本素質,并…

權限之淺理解

白馬過隙,在感嘆時光流逝的同時不得不承認在學習中隨著知識面的不斷擴展所接受的東西也越來越多,尤其是那些外形比較容易混淆的命令,著實讓作為新手的吃了很多苦頭,趁著學習緊張之時偷個懶整理這周易混淆的命令: chgrp…

機器學習算法之生成樹

一、什么是決策樹? 決策樹(Decision Tree)是一種基本的分類和回歸的方法。 分類決策樹模型是一種描述對實例進行分類的樹形結構。決策樹由結點(node)和有向邊(directed edge)組成。結點有兩種…

強烈推薦給從事IT業的同行們 (轉載)

作者:李學凌 文章來源:bbs.ustc.edu.cn 中國有很多小朋友,他們18,9歲或21,2歲,通過自學也寫了不少代碼,他們有的代碼寫的很漂亮,一些技術細節相當出眾,也很有鉆研精神,但是他…

微機原理控制轉移類指令

1.無條件跳轉指令 指令格式;JMP 目標地址 功能:JMP可以使程序無條件地跳轉到程序存儲器中某目標地址 注意點: 1)指令目標地址若在JMP指令所在的代碼段內,屬段內跳轉,指令只修改IP內容。指令目標地址若在JMP指令所在的代…

OPENNMS的后臺并行管理任務

Concurrent management tasks: 1. . Action daemon - automated action (work flow)2. .數據采集Collection daemon - collects data3. .能力檢查Capability daemon - capability check on nodes4. .動態主機配置協議DHCP daemon - DHCP clien…

機器學習算法之集成學習

集成學習的思想是將若干個學習器(分類器&回歸器)組合之后產生一個新學習器。弱分類器(weak learner)指那些分類準確率只稍微好于隨機猜測的分類器(errorrate < 0.5)。 集成算法的成功在于保證弱分類器的多樣性(Diversity)。而且集成不穩定的算法也能夠得到一個比較明顯…

常用的方法論-NPS

轉載于:https://www.cnblogs.com/qjm201000/p/7687510.html

controller調用controller的方法_SpringBoot 優雅停止服務的幾種方法

轉自&#xff1a;博客園&#xff0c;作者&#xff1a;黃青石www.cnblogs.com/huangqingshi/p/11370291.html 在使用 SpringBoot 的時候&#xff0c;都要涉及到服務的停止和啟動&#xff0c;當我們停止服務的時候&#xff0c;很多時候大家都是kill -9 直接把程序進程殺掉&#x…

linux下安裝Oracle10g時,安裝rpm文件的技巧 (rpm -Uvh package名)

rpm -q package名 &#xff1a; 查詢該package是否已經被安裝了rpm -qa | grep package名 或是package 的關鍵字 &#xff1a; 查詢該package是否已經被安裝了rpm -Uvh package名 &#xff1a; 意思是update packagerpm -Uvh package名 --force &#xff1a; 意思是如果該…

機器學習之聚類概述

什么是聚類 聚類就是對大量未知標注的數據集&#xff0c;按照數據 內部存在的數據特征 將數據集劃分為 多個不同的類別 &#xff0c;使 類別內的數據比較相似&#xff0c;類別之間的數據相似度比較小&#xff1b;屬于 無監督學習。 聚類算法的重點是計算樣本項之間的 相似度&…

程序員-建立你的商業意識 閆輝 著

1 程序員為什么需要商業意識 幾 年前&#xff0c;當我剛剛認識Fishman的時候&#xff0c;聽到他神奇的創業經歷&#xff0c;覺得非常不可思議。甚至還專門寫了一篇報道發到《電腦報》上&#xff0c;題目是《從程序員到 CEO》。不久&#xff0c;Fishman將創建的又一個新公司…

qt release打包發布_幾種解決Qt程序打包后無法連接數據庫問題的方法

Qt是一個跨平臺C圖形用戶界面應用程序開發框架&#xff0c;使用它不僅可以方便地開發GUI程序&#xff0c;也可以開發非GUI程序&#xff0c;可以一次編寫&#xff0c;處處編譯。今天遇到的問題比較怪異&#xff0c;我開發的是一個桌面版訂單管理系統&#xff0c;整體架構就是一個…

Java操作MongoDB

先引入mongo-java-dirver驅動 123456<!-- mongo-java-dirver --><dependency><groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.4.2</version> </dependency>代碼操作演示&#…

機器學習之拉格朗日乘子法和 KKT

有約束的最優化問題 最優化問題一般是指對于某一個函數而言&#xff0c;求解在其指定作用域上的全局最小值問題&#xff0c;一般分為以下三種情況(備注&#xff1a;以下幾種方式求出來的解都有可能是局部極小值&#xff0c;只有當函數是凸函數的時候&#xff0c;才可以得到全局…

定長順序串的實現

string.h #define MAXSTRLEN 255#define ERROR 0#define OK 1 typedef int Status;typedef char String[MAXSTRLEN 1]; //初始化字符串Status StrAssign(String T, char e); //有串S復制得串TStatus StrCopy(String T,String S); //比較兩個串的大小Status StrCompare(String …

pmp思維導圖 第六版_PMP考試技巧攻略(上)

PMP考試需要有保證足夠的時間投入&#xff1a;獲得PMP 考試并拿到5A 成績&#xff0c;并且還需要理解性記憶&#xff1a;PMP 指定教材PMBOK第六版&#xff08;教材為必看三遍以上&#xff09;&#xff0c;學習起來是有趣的&#xff0c;同時也是痛苦的。因為看書時字面的字我們認…

程序員應該具備的素質(來自csdn)

程序員是一種技術工作&#xff0c;在IT的發展中有相當重要的地位&#xff0c;從底層硬件通訊協議的建立&#xff0c; 到數據傳輸層的處理&#xff0c;到操作系統的建設&#xff0c;到數據庫平臺的建設&#xff0c;一直到應用層上各種數 據營銷平臺的搭建&#xff0c;程序員在里…

linux的du使用方法

該命令的各個選項含義如下&#xff1a; -s 對每個Names參數只給出占用的數據塊總數。 -a 遞歸地顯示指定目錄中各文件及子孫目錄中各文件占用的數據塊數。若既不指定-s&#xff0c;也不指定-a&#xff0c;則只顯示Names中的每一個目錄及其中的各子目錄所占的磁盤塊數-b 以字節為…