python 实时输出运行进度条

不覆盖显示进度条

import sys
import time

def inf_progress(iteration, total, prefix='', suffix='', decimals=1, barLength=100):
    formatStr = "{0:." + str(decimals) + "f}"
    percent = formatStr.format(100 * (iteration / float(total)))  #5.0  10.0
    
    filledLength = round(barLength * iteration / float(total))  #则四舍五入到最接近的整数
    bar = '#' * filledLength + '-' * (barLength - filledLength)

    sys.stdout.write('\r%s |%s| %s%s %s' % (prefix, bar, percent, '%', suffix))
    if iteration == total:
        sys.stdout.write('\n')
    sys.stdout.flush()  #实时输出
    # time.sleep(1)
    print()

TEST_NUM=30

for i in range(1, TEST_NUM + 1):
    
    inf_progress(i, TEST_NUM, 'Progress', 'Complete', 1, 50)
Progress |##------------------------------------------------| 3.3% Complete
Progress |###-----------------------------------------------| 6.7% Complete
Progress |#####---------------------------------------------| 10.0% Complete
Progress |#######-------------------------------------------| 13.3% Complete
Progress |########------------------------------------------| 16.7% Complete
Progress |##########----------------------------------------| 20.0% Complete
Progress |############--------------------------------------| 23.3% Complete
Progress |#############-------------------------------------| 26.7% Complete
Progress |###############-----------------------------------| 30.0% Complete
Progress |#################---------------------------------| 33.3% Complete
Progress |##################--------------------------------| 36.7% Complete
Progress |####################------------------------------| 40.0% Complete
Progress |######################----------------------------| 43.3% Complete
Progress |#######################---------------------------| 46.7% Complete
Progress |#########################-------------------------| 50.0% Complete
Progress |###########################-----------------------| 53.3% Complete
Progress |############################----------------------| 56.7% Complete
Progress |##############################--------------------| 60.0% Complete
Progress |################################------------------| 63.3% Complete
Progress |#################################-----------------| 66.7% Complete
Progress |###################################---------------| 70.0% Complete
Progress |#####################################-------------| 73.3% Complete
Progress |######################################------------| 76.7% Complete
Progress |########################################----------| 80.0% Complete
Progress |##########################################--------| 83.3% Complete
Progress |###########################################-------| 86.7% Complete
Progress |#############################################-----| 90.0% Complete
Progress |###############################################---| 93.3% Complete
Progress |################################################--| 96.7% Complete
Progress |##################################################| 100.0% Complete

覆盖显示进度条(动态刷新)

将上述程序作如下更改:

    time.sleep(1)
    # print()

在同一行不断刷新

Progress |##################################################| 100.0% Complete
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值