如何更改已打印的文本,然后再次更改?(Python)

如何更改已打印的文本,然后再次更改?(Python),python,text,Python,Text,在再次更改打印文本之前,我将如何更改打印文本 例如,“hello”一词被打印出来,然后,比方说,“world”一词会闪烁一秒钟,然后再返回到“hello”,基本上,就像它在闪烁一样 我已经尝试过使用sys.stdout.flush()函数,但它似乎对我不起作用 提前感谢您。因此,一般的解决方案是使用诅咒() 但是,对于相对简单的问题,我认为您可以写出一个\r,然后写出第一次放在那里的内容 # Untested and based on memory while True: word =

在再次更改打印文本之前,我将如何更改打印文本

例如,“hello”一词被打印出来,然后,比方说,“world”一词会闪烁一秒钟,然后再返回到“hello”,基本上,就像它在闪烁一样

我已经尝试过使用sys.stdout.flush()函数,但它似乎对我不起作用


提前感谢您。

因此,一般的解决方案是使用诅咒()

但是,对于相对简单的问题,我认为您可以写出一个\r,然后写出第一次放在那里的内容

# Untested and based on memory
while True:
    word = "world"
    sys.stdout.write("\rHello %s" % word)
    time.sleep(1)
    sys.stdout.write("\rHello %s % (" " * len(word)))
    time.sleep(1)

如果您在Linux上,那么这是通过回车符“\r”完成的。通常,“\r”用于将游标返回到终端中某一行的开头,“\n”用于将游标在终端中下移一个单元(不同的终端和不同的操作系统可能会以不同的方式使用这些符号)。因此,通常情况下,如果我们将print end变量从“\n\r”修改为“\r”,则可以覆盖行。比如说,

import time
print('hello',end='\r')
time.sleep(0.5)
print('hello world',end='\r')
time.sleep(0.5)
print('hello',end='\r')