Python關(guān)于print的操作(倒計時、轉(zhuǎn)圈顯示、進度條)
前言
在python中,print是重要的輸出語句,讓我們更方便的知道程序的運行狀況,但是這樣還不夠,我們也可以用print來給周圍的小伙伴秀一下
步入正題
\r表示將光標(biāo)的位置回退到本行的開頭位置\b表示將光標(biāo)的位置回退一位
1、橫條加載
num = 20
for i in range(num):
print("#")打印結(jié)果:
#
#
#
#
。。。。(此處省略剩下16個 #)
結(jié)果發(fā)現(xiàn)這樣很丑,達不到我們的預(yù)期,所以,在print里面,我們有一個flush,是及時刷新的意思,默認為False,只有所有內(nèi)容都有來然后一次性打印出來,為True時是及時更新print的信息
import time
num = 20
for i in range(num):
print("#", end="", flush=True)
time.sleep(0.1)這次我們加上time中延遲的sleep來綜合試一下
打印結(jié)果:

2、倒計時顯示
import time
for i in range(5, 0, -1):
print("\r", "倒計時{}秒!".format(i), end="", flush=True)
time.sleep(1)打印結(jié)果:

在print中,\r就可以讓打印之后有重新回到本行開頭的位置繼續(xù)打印,相當(dāng)于重新刷了一遍,但是我們不難發(fā)現(xiàn),倒計時前面有個小空缺,那是因為"\r"占了一個小位置,所以我們把代碼重新改造一下。
import time
for i in range(5, 0, -1):
print("\r倒計時{}秒!".format(i), end="", flush=True)
time.sleep(1)
print("\r倒計時結(jié)束!")打印結(jié)果:

3、轉(zhuǎn)圈等待顯示
話不多說直接上代碼
import time
sum = 10 # 設(shè)置倒計時時間
timeflush = 0.25 # 設(shè)置屏幕刷新的間隔時間
for i in range(0, int(sum/timeflush)):
list = ["\\", "|", "/", "—"]
index = i % 4
print("\r程序正在運行 {}".format(list[index]), end="")
time.sleep(timeflush)運行結(jié)果:

4、進度條顯示
import time
days = 365
for i in range(days):
print("\r進度條百分比:{}%".format(round((i + 1) * 100 /days)), end="", flush=True)
time.sleep(0.02)打印結(jié)果:

進度條改進版
import time
num = 50 #設(shè)置倒計時時間
timeflush = 0.5 #設(shè)置屏幕刷新的間隔時間
for i in range(0, int(num/timeflush)+1):
print("\r正在加載:" + "|" + "*" * i + " "*(int(num/timeflush)+1-i)+"|" + str(i)+"%", end="")
time.sleep(timeflush)
print("\r加載完成!")打印結(jié)果:

進度條升級版
我們通過加入一些進度條模塊,可以實現(xiàn)進度條炫酷的效果
tqdm模塊
我們在cmd中下載tqdm模塊
pip install tqdm
我們在pycharm中加入tqdm模塊

勾選Install to user's site packages directory
點擊Install Package
然后代碼如下:
from tqdm import tqdm
for i in tqdm(range(10000)):
pass運行結(jié)果:

這里根據(jù)每個電腦的不同而范圍不同,電腦性能好的同學(xué)可以適當(dāng)?shù)闹嫡{(diào)大,這樣會顯示最佳的體驗效果
progressbar模塊
現(xiàn)在cmd中下載progressbar模塊,命令是
pip install progressbar
即可安裝成功
然后在pycharm中安裝progressbar模塊

勾選Install to user's site packages directory
點擊Install Package
代碼如下:
from progressbar import *
import time
pro = ProgressBar() # 將progressbar中的ProgressBar實例化
for i in pro(range(1000)):
time.sleep(0.01)運行結(jié)果:

我的電腦不知道怎么回事,正常的畫面加載不出來,但是不影響程序,程序是對的,我在 time.sleep(0.01)下面加了個print()就是這個樣子,要不然加載條不出來。同學(xué)可以自己查查資料喲
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
python使用tkinter打造三維繪圖系統(tǒng)的示例代碼
Python?的?tkinter?模塊是一個常用的?GUI(圖形用戶界面)工具包,它能夠讓你創(chuàng)建窗口應(yīng)用程序,你可以使用它來構(gòu)建用戶友好的界面,包括按鈕、標(biāo)簽、文本框、列表框等各種控件,本文講給大家介紹如何使用tkinter打造三維繪圖系統(tǒng),需要的朋友可以參考下2023-08-08
Python?隊列Queue和PriorityQueue解析
這篇文章主要介紹了Python?隊列Queue和PriorityQueue,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09
Python實現(xiàn)批量上傳本地maven庫到nexus
這篇文章主要為大家詳細介紹了如何使用Python實現(xiàn)批量上傳本地maven庫到nexus,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的小伙伴可以參考下2024-01-01
淺談Python小波分析庫Pywavelets的一點使用心得
這篇文章主要介紹了淺談Python小波分析庫Pywavelets的一點使用心得,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Pytorch之tensorboard無法啟動和顯示問題及解決
這篇文章主要介紹了Pytorch之tensorboard無法啟動和顯示問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09

