使用python制作游戲下載進(jìn)度條的代碼(程序說明見注釋)

import time
# time模塊中包含了許多與時間相關(guān)的模塊,其中通過time()函數(shù)可以獲取當(dāng)前的時間。
count = 100
print("開始下載".center(100, '-'))
start = time.perf_counter()
# 通過time()函數(shù)可以獲取當(dāng)前的時間并付給變量start
for i in range(count + 1):
a = "■" * i
# 用■的個數(shù)來具體化已經(jīng)下載完的進(jìn)度?!鲈谳斎敕ɡ锏奶厥夥柪?。
b = " " * (count - i)
# 用一個空格的個數(shù)來具體化未完成下載的進(jìn)度
c = (i / count) * 100
#c的值表示10%,50%中的10和50.
res = time.perf_counter() - start
# 執(zhí)行完一次for循環(huán)所需要的時間。但time.time(),time.perf_counter()記錄時間的精確不高,因此要借助time.sleep(0.1)來符合它們的精確度,好讓它們記錄。
print(f"\r{c:.2f}%[{a}]{res:.2f}s", end="")
#\r 表示將光標(biāo)的位置回退到本行的開頭位置。即光標(biāo)永遠(yuǎn)處于本行開頭。
# end = '\n'是把光標(biāo)換行。end = ""是不換行。不加\r則在一行上輸出所有數(shù)據(jù)。加\r會讓數(shù)據(jù)迭代更新(類似變量賦值,可以對同一個賦值,但以最終的數(shù)據(jù),最新的數(shù)據(jù)為準(zhǔn))
time.sleep(0.1)
# time.sleep(秒數(shù)),讓程序休眠/延遲。其中“秒數(shù)”以秒為單位,可以是小數(shù),0.1秒則代表休眠100毫秒。
# 不加這條命令,因為cpu處理數(shù)據(jù)的速度極快(速度和時間成正比,速率),會讓time.time()記錄的時間精確度不高(**導(dǎo)致不能記錄下cpu的運行時間**),休眠即可解決這個問題。
print("下載完成".center(100, '-'))
ps:python實現(xiàn)顯示安裝進(jìn)度條
一直很好奇那種安裝進(jìn)度條,或者啟動程序時候顯示的進(jìn)度條是怎么實現(xiàn)的,學(xué)習(xí)了python之后,sys模塊中有個方法可以實現(xiàn),代碼如下:
import sys,time
for i in range(50):#循環(huán)50次
sys.stdout.write('#')#向終端輸出#
#在這中間就可以做你想要的處理了,處理完之后結(jié)束循環(huán)即可
sys.stdout.flush()#立即輸出,如果不加這個的話,它會等緩沖區(qū)滿了之后才顯示
time.sleep(1)#sleep一秒再輸出,輸出太快的話就看不到效果了
總結(jié)
以上所述是小編給大家介紹的使用python制作游戲下載進(jìn)度條,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
python網(wǎng)絡(luò)爬蟲 CrawlSpider使用詳解
這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲 CrawlSpider使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09
python virtualenv虛擬環(huán)境配置與使用教程詳解
這篇文章主要介紹了python virtualenv虛擬環(huán)境配置與使用教程詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
Django權(quán)限系統(tǒng)auth模塊用法解讀
這篇文章主要介紹了Django權(quán)限系統(tǒng)auth模塊用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
DRF?QuerySet?Instance數(shù)據(jù)庫操作功能概述
這篇文章主要為大家介紹了DRF?QuerySet?Instance數(shù)據(jù)庫處理的功能概述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
python中的 Matplotlib 繪制多子圖時的重疊問題及解決方案
當(dāng)使用 Matplotlib 繪制多個子圖(subplots)時,如果標(biāo)簽或標(biāo)題文字交叉或重疊,遇到這樣的問題如何處理呢,下面小編給大家介紹了python中的 Matplotlib 繪制多子圖時的重疊問題及解決方案,需要的朋友可以參考下2024-06-06

