Python覆盖新行不符合预期

时间:2013-12-20 08:58:23

标签: python

我正在尝试将文本输出到stdout,覆盖以前的文本,例如

for i in range(12):
    print i

但是我每次都替换以前的值而不是出现在新的一行上 从以前看过很多类似问题的帖子来看,似乎有几种方法可以做到这一点,可能是最简单的(对于Python 3.x)

for i in range(12):
    print(i,end="\r")

有时在print语句的末尾有逗号,有时则没有。但是,如果没有逗号,我根本就没有输出和逗号

(None,)
(None,)
(None,)
...

这可能与我的终端有关吗?无论以前发布的哪个解决方案,我都会得到类似的结果。    谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

如果在终端中执行此操作,则不会看到任何输出,因为for循环完成得太快,您无法看到输出更改。循环完成后,终端的提示将覆盖输出。

请改为尝试:

>>> for i in range(9999999):
...     print(i, end="\r")

我很惊讶你在省略逗号时没有语法错误。