Python是一種非常流行的編程語(yǔ)言,被廣泛應(yīng)用于各種應(yīng)用程序的開(kāi)發(fā)。在Python中,我們經(jīng)常需要使用進(jìn)度條來(lái)表示任務(wù)的完成情況,并且需要在進(jìn)度條中顯示時(shí)間。本文將介紹如何使用Python來(lái)實(shí)現(xiàn)這樣的進(jìn)度條時(shí)間功能。
# 導(dǎo)入必要的庫(kù) import time import sys # 定義進(jìn)度條函數(shù) def progressbar(progress): bar_length = 20 # 進(jìn)度條的長(zhǎng)度 block = int(round(bar_length * progress)) text = "\rPercent: [{0}] {1:.2f}%".format("#" * block + "-" * (bar_length - block), progress * 100) sys.stdout.write(text) sys.stdout.flush() # 定義時(shí)間格式化函數(shù) def time_format(time_seconds): hours, remainder = divmod(time_seconds, 3600) minutes, seconds = divmod(remainder, 60) return '{:02d}:{:02d}:{:02d}'.format(int(hours), int(minutes), int(seconds)) # 啟動(dòng)進(jìn)度條和計(jì)時(shí)器 start_time = time.time() for i in range(101): progress = i / 100.0 progressbar(progress) time.sleep(0.1) end_time = time.time() # 計(jì)算程序運(yùn)行時(shí)間并輸出 total_time = end_time - start_time time_str = time_format(total_time) print("\nTime elapsed: {}".format(time_str))
在以上代碼中,我們使用了Python的time庫(kù)來(lái)實(shí)現(xiàn)計(jì)時(shí)器,并使用sys庫(kù)來(lái)控制進(jìn)度條的輸出。在progressbar函數(shù)中,我們通過(guò)計(jì)算當(dāng)前任務(wù)的完成進(jìn)度來(lái)計(jì)算進(jìn)度條的長(zhǎng)度,并在終端上輸出一個(gè)表示當(dāng)前任務(wù)完成情況的進(jìn)度條。time_format函數(shù)用于將計(jì)時(shí)器的時(shí)間轉(zhuǎn)換為HH:MM:SS的格式。
最后,在for循環(huán)中,我們不斷地更新進(jìn)度條和計(jì)時(shí)器,直到任務(wù)完成為止。最后計(jì)算總共程序運(yùn)行時(shí)間,并將其格式化為HH:MM:SS的形式輸出。