我怎样才能在 Python 3.6 中覆盖输出



我尝试使用此代码重写输出中的一行。

import time
print('Hello, world!', end='', flush=True)
time.sleep(1)
print('rHi.')

我更喜欢最后得到这个:

Hi.

但实际上,我得到了这个:

Hi.lo, world!

那么,我该怎么办?

r只是将光标移动到行首,则必须覆盖已打印文本的其余部分,例如,空格以将其空白:

import time
start_text = "Hello, world!"
replace_text = "Hi."
print(start_text, end='', flush=True)
time.sleep(1)
print("r" + replace_text + " " * (len(start_text) - len(replace_text)))
# or: print("r" + " " * len(start_text) + "r" + replace_text)

最新更新