使用python 3在for循环内的同一行中插入sleep()和print()

Alo*_*uil 5 python printing sleep for-loop

我试图使用python 3在同一行中打印循环结果并在阅读Python之后:for循环 - 在我设法完成的同一行上打印.

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

现在的问题是我插入的时候

time.sleep(2)
Run Code Online (Sandbox Code Playgroud)

在打印之前.我想打印第一个字符,等待两秒钟,然后是第二个字符,等待两秒钟等等.

这里的代码:

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

我们等了20秒(= 10*2),然后才显示数字.这不是我们所期望的.

我应该怎么做才能达到上述预期的行为,即等待2秒,打印第一个字符,等待2秒以上,打印第二个字符等.

Mar*_*ers 5

输出到stdout行缓冲,这意味着在打印换行符之前不会刷新缓冲区.

每次打印时显式刷新缓冲区:

print(x, end="", flush=True)
Run Code Online (Sandbox Code Playgroud)

演示:

演示动画以2秒的间隔显示缓慢添加的数字