只打印一行的print

0 投票
6 回答
4427 浏览
提问于 2025-04-16 16:37

你想让打印的内容每次只显示一行,比如这样:

for i in range(1,100)
    print i

但是我希望它每次只打印一行,所以它会先显示1,然后1会被擦掉,再显示2,依此类推。

6 个回答

1

你可以试试这个:

import sys
import time
for num in range(100):
    sys.stdout.write("\r "+str(num))
    sys.stdout.flush()
    time.sleep(0.3)
3

结尾的逗号可以防止换行,而回车则是把光标移动到行的开头。

for i in range(1,100):
    print "\r",i,

这个在Linux系统上有效。

3

像这样吗?

import sys
import time
>>> for i in range(1, 100):
...     sys.stdout.write(str(i))
...     sys.stdout.flush()
...     time.sleep(0.2)
...     sys.stdout.write("\b"*4)
<numbers count here>
>>>

撰写回答