测试积点老人 发表于 2018-12-14 17:36:30

Python不换行打印进度条

本帖最后由 测试积点老人 于 2018-12-14 17:38 编辑

我们需要显示进度条的时候可以考虑使用print函数打印出来,比如像下面的实现方法:
# -*- coding: utf-8 -*-

import time

for i in range(1, 11):
    # do something
    print('*' * i)
    time.sleep(1)进度效果:


由于print的end参数默认'\n'是会换行的,所以我们看到的进度条是换行的,效果并不是我们想要的在同一行显示。

<blockquote>def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
我们先看一下\r的含义,\r表示在本行的开头继续输出,区别与\n在下一行输出。如下面的代码所示使用\r,内容123会本行abcdefg继续输出把abc覆盖了,最终显示123defg。




利用\r的特性我们就可以在同一行显示进度条了:





Miss_love 发表于 2021-1-5 16:59:23

支持分享
页: [1]
查看完整版本: Python不换行打印进度条