Python 實(shí)現(xiàn)進(jìn)度條的六種方式
示例代碼
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()
展現(xiàn)形式

導(dǎo)入time模塊來(lái)計(jì)算代碼運(yùn)行的時(shí)間,加上代碼迭代進(jìn)度使用格式化字符串來(lái)輸出代碼運(yùn)行進(jìn)度
示例代碼
import timescale = 50print('執(zhí)行開(kāi)始,祈禱不報(bào)錯(cuò)'.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'+'執(zhí)行結(jié)束,萬(wàn)幸'.center(scale // 2,'-'))
展現(xiàn)形式

這是一個(gè)專門生成進(jìn)度條的工具包,可以使用pip在終端進(jìn)行下載,當(dāng)然還能切換進(jìn)度條風(fēng)格
示例代碼
from time import sleepfrom tqdm import tqdm# 這里同樣的,tqdm就是這個(gè)進(jìn)度條最常用的一個(gè)方法# 里面存一個(gè)可迭代對(duì)象for i in tqdm(range(1, 500)): # 模擬你的任務(wù) sleep(0.01)sleep(0.5)
展現(xiàn)形式

只需要定義迭代的次數(shù)、進(jìn)度條類型并在每次迭代時(shí)告知進(jìn)度條即可
相關(guān)文檔: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()
展現(xiàn)形式

顧名思義,這個(gè)庫(kù)可以使得進(jìn)度條變得生動(dòng)起來(lái),它比原來(lái)我們見(jiàn)過(guò)的進(jìn)度條多了一些動(dòng)畫效果,需要使用pip進(jìn)行下載
相關(guān)文檔: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)
展現(xiàn)形式

用 PySimpleGUI 得到圖形化進(jìn)度條,我們可以加一行簡(jiǎn)單的代碼,在命令行腳本中得到圖形化進(jìn)度條,也是使用pip進(jìn)行下載
示例代碼
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)
展現(xiàn)形式

以上就是Python 實(shí)現(xiàn)進(jìn)度條的六種方式的詳細(xì)內(nèi)容,更多關(guān)于python 實(shí)現(xiàn)進(jìn)度條的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. Python基于requests庫(kù)爬取網(wǎng)站信息2. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法3. Python使用Selenium自動(dòng)進(jìn)行百度搜索的實(shí)現(xiàn)4. Java commons-httpclient如果實(shí)現(xiàn)get及post請(qǐng)求5. 一文帶你徹底理解Java序列化和反序列化6. 微信小程序?qū)崿F(xiàn)商品分類頁(yè)過(guò)程結(jié)束7. PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能8. JS中6個(gè)對(duì)象數(shù)組去重的方法9. 資深程序員:給Python軟件開(kāi)發(fā)測(cè)試的25個(gè)忠告!10. python中文本字符處理的簡(jiǎn)單方法記錄

網(wǎng)公網(wǎng)安備