在具有多个 \n 的字符串上使用 \r

Use \r on a String with multiple \n

我有一个包含多个 \n 的字符串,以得到它的正方形 f.ex。对于矩阵、地图等

如果我想用

覆盖它

sys.stdout.write("\r %s" % TheString) sys.stdout.flush()

它跳到最后一行的开头,覆盖它并在下面打印新字符串。 但我希望它一直跳到第一行并覆盖整个输出。 我尝试了多个 \r (乘以行数)但它没有用。还有其他可能吗?

谢谢!

IIUC 正如@Boldewyn 所指出的那样,这并不容易实现,但您可以在使用 os.system("clear")(在类 UNIX 系统中)发布新的 sys.stdout.write 之前清除之前输出的屏幕:

import os
import sys

sys.stdout.write("This")
sys.stdout.write("Will")
sys.stdout.write("Not")
sys.stdout.write("Show")

# After this command all output before will be cleared
os.system("clear")
sys.stdout.write("\r %s" % "Blablablabla")