3

如果我运行此代码:

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

它会做它应该做的。但是如果我运行这个:

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

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

我怎样才能防止这种情况?

4

1 回答 1

7

打印后刷新标准输出。

import time
import sys

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

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

import time

for x in range(10):
    time.sleep(1)
    print("a", end="", flush=True)
于 2013-08-02T03:25:16.393 回答