为什么是下面的代码
from __future__ import print_function
from time import sleep
def print_inline():
print("Hello ", end='')
sleep(5)
print("World")
print_inline()
等到 sleep 完成打印Hello World
,不应该打印Hello
然后等待5秒打印World
同一条线?
最佳答案
不,不应该。 “Hello” 位于输出缓冲区中,直到有理由将其刷新到输出设备。在这种情况下,那个“原因”就是程序的结束。如果你想要延迟效果,添加
import sys
sys.stdout.flush()
就在你的 sleep 声明之前。
另请参阅更完整的讨论 here .
关于使用 sleep 命令内联 Python 打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33308760/