睡眠后 Python 打印在同一行

use*_*gBy 2 printing python-3.x

我检查了在同一行打印新输出

但我仍然困惑:

import time
print("HI ", end=""),
time.sleep(2)
print("BYE")
Run Code Online (Sandbox Code Playgroud)

它确实在同一行上打印 HI BYE,但它在睡眠后立即打印。我想打印 HI 然后休眠 2 秒,然后在 2 秒后打印 BYE。

想法?

谢谢。

And*_*hin 5

您可以刷新输出:

impost sys
import time
print("HI ", end="")
sys.stdout.flush()
time.sleep(2)
print('BYE')
Run Code Online (Sandbox Code Playgroud)

如果写入类文件对象,则需要刷新它:

file.flush()
Run Code Online (Sandbox Code Playgroud)

在python 3.3中,您只需将关键字参数添加到打印功能中即可:

print(smth, flush=True)
Run Code Online (Sandbox Code Playgroud)