如何覆盖前面的打印到Python的标准输出?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (3005)

如果我有以下代码:

for x in range(10):
     print x

我会得到

1
2
etc..

我想要做的不是打印换行符,而是替换以前的值,并在同一行上用新值覆盖它。

提问于
用户回答回答于

一种方法是使用回车('\r')字符返回到行的开头,而不前进到下一行:

for x in range(10):
    print '{0}\r'.format(x),
print

print语句末尾的逗号告诉它不要转到下一行。最后一个print语句向前推进到下一行,这样提示符就不会覆盖最后输出。

用户回答回答于

我使用的是Python 3,下面是Python 3中的工作方式:

for x in range(10):
    print("Progress {:2.1%}".format(x / 10), end="\r")

扫码关注云+社区

领取腾讯云代金券