在循环中的同一行上打印多个字符串

时间:2014-08-21 09:59:38

标签: python string python-2.7

我正在制作某种计时器。我有这段代码:

for i in range (19, -1, -1):
        print i 
        time.sleep(60)

这应该每分钟打印i值20分钟。它做到了,但每个输出都在新行中。如果我在我的程序第一次等待20分钟后再添加逗号,然后在同一行给我输出但是一次全部。如何让它在同一条线上给我输出,但保持每分钟的功能?

2 个答案:

答案 0 :(得分:1)

听起来只有在打印整行后才刷新输出缓冲区。

您可以在打印后添加sys.stdout.flush(),以确保它立即显示在屏幕上

答案 1 :(得分:0)

之前我有同样的问题,这是解决问题的正确方法!

for i in range (19, -1, -1):
     sys.stdout.write(i)
     sys.stdout.flush()   # if you don't do this, it will actually just come out all on one line at once.
     time.sleep(60)

您可以在here

中找到我的问题