当前位置:   article > 正文

Python实现进度条的5种方式_python 协程task状态进度

python 协程task状态进度

这里只列举了部分方法,其他方法或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)

效果:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/243054
推荐阅读
相关标签
  

闽ICP备14008679号