繁体   English   中英

如何覆盖 Python 中最后一个打印的字符

[英]How can I overwrite the last printed character in Python

我已经查看了所有这些以及更多内容,这不是重复的! (好吧,但我需要一个答案)。

如何在 Python 中覆盖多行打印?

如何删除python中的最后一行?

输出到同一行覆盖以前的输出?

覆盖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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM