在具有多个 \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")
我有一个包含多个 \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")