python实现进度条

系统 1481 0

python实现进度条

 

简单演示

            
              sys.stdout.write()输出不会自动换行,没有end,可用转义字符自行控制

     
            
            /
            
              n 换行

     
            
            /
            
              r  回车到本行首,可刷新输出

 如用sys.stdout.write() 和\r实现自定义进度条
            
          

 

            
              import
            
            
               time

            
            
              import
            
            
               sys


            
            
              def
            
            
               main():
    j 
            
            =
            
               0
    
            
            
              for
            
             i 
            
              in
            
             range(100
            
              ):
        j
            
            +=1
            
              
        sys.stdout.write(
            
            
              '
            
            
              \r已经上传了%%%d
            
            
              '
            
             % (j/100*100
            
              ))
        time.sleep(
            
            0.1
            
              )

            
            
              if
            
            
              __name__
            
             == 
            
              '
            
            
              __main__
            
            
              '
            
            
              :
    main()
            
          

结果:

            已经上传了%100
          

 

 

实现简单效果

            
              import
            
            
               time

            
            
              import
            
            
               sys


            
            
              for
            
             i 
            
              in
            
             range(100
            
              ):
    a 
            
            = int((i + 1) / 5
            
              )
    b 
            
            = 20 -
            
               a
    
            
            
              #
            
            
               sys.stdout.write('\r>>convert image %d/%d'%(i,b))
            
            
    sys.stdout.write(
            
              '
            
            
              \r|%s%s|%d%%
            
            
              '
            
             % (a * 
            
              '
            
            
            
              '
            
            , b * 
            
              '
            
            
              '
            
            , i + 1
            
              ))
    sys.stdout.flush()
    time.sleep(.
            
            1)
          

结果:

            |▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇|100%
          

 

 

tqdm库

            
              from
            
             tqdm 
            
              import
            
            
               tqdm 

            
            
              import
            
            
               time

            
            
              import
            
            
               sys

            
            
              for
            
             i 
            
              in
            
             tqdm(range(1000
            
              )):
    time.sleep(
            
            0.01)
          

结果:

            100%|██████████| 1000/1000 [00:10<00:00, 91.47it/s]
          

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论