[英]How can I overwrite the last printed character in Python
我已经查看了所有这些以及更多内容,这不是重复的! (好吧,但我需要一个答案)。
但是,甚至其中一个都没有真正覆盖 Python 3.8 中打印字符的答案。
那么让我问一下,如何覆盖 Python 中最后打印的字符?
例如在这段代码中:
import time
print("Line one",end="\r")
time.sleep(2)
print ("Line two")
在此代码中,我希望将“第一行”替换为“第二行”。
或者可能,
import time
print("1")
time.sleep(1)
print("2")
time.sleep(1)
print("3")
这样每个数字都取代了最后一个。
最重要的是,我同意你的打印以'\\r'结尾的方法,这种方法是正确的,但不能在你的代码编辑器中显示你想要的结果,比如'sublime text3'。
其实这个方法可以在Cmd中显示正确的结果。 下面举三个例子,希望对你有所帮助。
import time
print("EXAMPLE I")
print("Line one",end="\r")
time.sleep(1)
print("Line two")
如果它在代码编辑器中,它将显示:
EXAMPLE I
Line one
Line two
也许你会认为这个结果和 '\\n' 一样。但事实并非如此。如果我们在Cmd 中运行它,它会显示以下结果:
EXAMPLE I
Line two
是不是很神奇?事实上,一号线已经被二号线取代,达到了你的目的。
顺便说一句,我可以向您展示上面评论中提到的另一种方式。
print("EXAMPLE II")
print("Line one",end="\n")
time.sleep(1)
print("Line two")
在代码编辑器中
EXAMPLE II
Line one
Line two
在命令中
EXAMPLE II
Line one
Line two
代码
print("EXAMPLE III")
print("Line one",end="\b")
time.sleep(1)
print("Line two")
在代码编辑器中
Line one<0x08>Line two
在命令中
Line onLine two
请注意:'\\b' 结尾只能支持一个单词,而不是整行。 您可能会看到 CMD 和代码编辑器之间的区别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.