睡觉和打印没有换行?

tkb*_*kbx 3 python

如果我运行此代码:

for x in range(10):
    time.sleep(1)
    print("a")
Run Code Online (Sandbox Code Playgroud)

它会做到它应该做的事情.但如果我运行这个:

for x in range(10):
    time.sleep(1)
    print("a", end="")
Run Code Online (Sandbox Code Playgroud)

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

我怎么能阻止这个?

fal*_*tru 6

打印后冲洗标准输出.

import time
import sys

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

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

import time

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