睡觉和打印没有换行?

时间:2013-08-02 03:23:32

标签: python

如果我运行此代码:

for x in range(10):
    time.sleep(1)
    print("a")

它将完全按照应有的方式行事。但如果我这样做:

for x in range(10):
    time.sleep(1)
    print("a", end="")

它将等待整整10秒,然后打印10 a

我该如何防止这种情况?

1 个答案:

答案 0 :(得分:6)

打印后冲洗标准品。

import time
import sys

for x in range(10):
    time.sleep(1)
    print("a", end="")
    sys.stdout.flush()

Python 3.3 print函数具有可选的flush参数;您可以在Python 3.3 +中编写如下。

import time

for x in range(10):
    time.sleep(1)
    print("a", end="", flush=True)