账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python2.7 print函数中\r的作用
    26
    0

    这是搜索到的一段progress bar的代码:

    from __future__ import print_function
    # Print iterations progress
    def printProgressBar (iteration, total, prefix = '', suffix = '', decimals = 1, length = 100, fill = '|'):
        """
        Call in a loop to create terminal progress bar
        @params:
            iteration   - Required  : current iteration (Int)
            total       - Required  : total iterations (Int)
            prefix      - Optional  : prefix string (Str)
            suffix      - Optional  : suffix string (Str)
            decimals    - Optional  : positive number of decimals in percent complete (Int)
            length      - Optional  : character length of bar (Int)
            fill        - Optional  : bar fill character (Str)
        """
        percent = ("{0:." + str(decimals) + "f}").format(100 * (iteration / float(total)))
        filledLength = int(length * iteration // total)
        bar = fill * filledLength + '-' * (length - filledLength)
        print('\r%s |%s| %s%% %s' % (prefix, bar, percent, suffix), end = '\r')
        # Print New Line on Complete
        if iteration == total:
            print()
    from time import sleep
    
    # A List of Items
    items = list(range(0, 57))
    l = len(items)
    
    # Initial call to print 0% progress
    printProgressBar(0, l, prefix = 'Progress:', suffix = 'Complete', length = 50)
    
    
    print('\r%s |%s| %s%% %s' % (prefix, bar, percent, suffix), end = '\r')

    这里的 第一个 \r 起到了什么作用呢? 我知道这个是让光标回到行首 这个end='r'不是已经在每一行都做这个操作了吗?

    另外:如果去掉第一个r 也能显示进度条 但是很不流畅,好像缓冲区没有在每一次print的时候清空,难道r还有清空缓冲区的作用?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 石鸿天下 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部