1. 程式人生 > 程式設計 >詳解Python實現進度條的4種方式

詳解Python實現進度條的4種方式

這裡只列舉了部分方法,其他方法或python庫暫時還沒使用到

1.不用庫,直接列印:

程式碼樣例:

import time
#demo1
def process_bar(percent,start_str='',end_str='',total_length=0):
 bar = ''.join(["\033[31m%s\033[0m"%' '] * int(percent * total_length)) + ''
 bar = '\r' + start_str + bar.ljust(total_length) + ' {:0>4.1f}%|'.format(percent*100) + end_str
 print(bar,end='',flush=True)
for i in range(101):
 time.sleep(0.1)
 end_str = '100%'
 process_bar(i/100,end_str=end_str,total_length=15)
#demo2
# for i in range(0,101,2):
# time.sleep(0.1)
# num = i // 2
# if i == 100:
#  process = "\r[%3s%%]: |%-50s|\n" % (i,'|' * num)
# else:
#  process = "\r[%3s%%]: |%-50s|" % (i,'|' * num)
# print(process,flush=True)

效果:

2.不用庫,直接列印:

程式碼樣例:

import sys,time
print("正在下載......")
for i in range(11):
 if i != 10:
  sys.stdout.write("==")
 else:
  sys.stdout.write("== " + str(i*10)+"%/100%")
 sys.stdout.flush()
 time.sleep(0.2)
print("\n" + "下載完成")

注:

sys.stdout.write()方法跟print()方法的區別是 前者列印不換行,後者換行。
sys.stdout.flush()方法是立即重新整理輸出的內容

效果:

3.tqdm庫

相關文件:點選直達

使用樣例:

from time import sleep
from tqdm import tqdm
for i in tqdm(range(20)):
 sleep(0.5)

效果:


4.progressbar

官方文件:點選直達

安裝:

pip3 install progressbar2

使用樣例:

import time
from progressbar import *
progress = ProgressBar()
for i in progress(range(1000)):
 time.sleep(0.01)

效果:

總結

以上所述是小編給大家介紹的Python實現進度條的4種方式,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!

如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!