Python实现进度条的5种方式

转载自:https://blog.csdn.net/qq_36853469/article/details/103925626

这里只列举了部分方法,其他方法或python库暂时还没使用到

1.不用库,直接打印(及其简单,效果很好):

简单代码:


    
    
  1. import time
  2. print( "程序启动中,请稍等:")
  3. for i in range( 26):
  4. a = "■" * i
  5. b = "□" * ( 25 - i)
  6. c = (i / 25) * 25 * 4
  7. print( "\r{}{}{:.2f}%". format(a, b, c), end= "")
  8. time.sleep( 0.1)

效果:

2.不用库,直接打印:

代码样例:


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

效果:

   

3.不用库,直接打印: 

代码样例:


    
    
  1. import sys, time
  2. print( "正在下载......")
  3. for i in range( 11):
  4. if i != 10:
  5. sys. stdout. write( "==")
  6. else:
  7. sys. stdout. write( "== " + str(i* 10)+ "%/100%")
  8. sys. stdout. flush()
  9. time.sleep( 0.2)
  10. print( "\n" + "下载完成")

注:
sys.stdout.write()方法跟print()方法的区别是 前者打印不换行,后者换行。
sys.stdout.flush()方法是立即刷新输出的内容 

效果:

4.tqdm库

 

相关文档:点击直达

使用样例:


    
    
  1. from time import sleep
  2. from tqdm import tqdm
  3. for i in tqdm( range( 20)):
  4. sleep( 0.5)

 效果:

                                  

5.progressbar

官方文档:点击直达

安装:

pip3 install progressbar2
    
    

使用样例:


    
    
  1. import time
  2. from progressbar import *
  3. progress = ProgressBar()
  4. for i in progress( range( 1000)):
  5. time.sleep( 0.01)

效果:

 

</article>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值