在python中替换控制台中的多行

在python中替换控制台中的多行,python,replace,console,Python,Replace,Console,我正在用python编写一个程序,我想用新文本替换控制台中的多行 例如,如果我在控制台上打印了3个句子: print("Hello World!") print("How are you!") print("What's going on?") 其中每个on位于不同的行上(因此有一个\n) 当这些文本显示在控制台中时,如何替换所有这些文本?在这种情况下,我无法使用\r,因为\n一个简单的解决方法是只需更改用于打印字符串的结束分隔符。您可以指定希望打印函数如何使用end参数分隔调用 print(

我正在用python编写一个程序,我想用新文本替换控制台中的多行

例如,如果我在控制台上打印了3个句子:

print("Hello World!")
print("How are you!")
print("What's going on?")
其中每个on位于不同的行上(因此有一个
\n


当这些文本显示在控制台中时,如何替换所有这些文本?在这种情况下,我无法使用
\r
,因为
\n

一个简单的解决方法是只需更改用于打印字符串的结束分隔符。您可以指定希望打印函数如何使用
end
参数分隔调用

print("hello world!", end="")
print("\rhello world again!")

在本例中,我们将分隔符设置为“”,这算不了什么。因此,打印下一个字符串将从同一行开始,因此可以使用
\r
。编译后,您将再次看到
hello world在一行。

这是一篇老文章,但我偶然发现了它,并想出了一个解决方案。添加了一个计时器,因为否则打印语句会相互掩埋,您只能读取最后一个。我使用的是python 2.7:

import os
import time

os.system("printf 'Hello World!'")
time.sleep(1)
os.system("printf '\rHow are you?!'")
time.sleep(1.5)
os.system("printf '\rWhats going on?'")
os.system("echo ") 

问题是如何替换控制台多行上的文本。这只是一行。此外,您不需要编译python。