今天遇到了\r
,然后就比较懵了,这里简单记录一下\r
字符在Python
中的应用。
\r
:将光标回退到开始位置
先来看一个示例代码:
import timetext = "Hello\rWorld!"
for i in text:time.sleep(0.5)print(i, end="")
实现结果如下:
我们可以看到最终显示的输出结果为World
,然而实际上最开始Hello
已经被输出了,只不过当我们使用了\r
字符后,光标回到了最开始的位置,删除了开始的输出,最后只显示出了World
字符串。
利用这个特性,我们可以实现在编译器窗口只输出一行结果的显示效果。只要在每次调用print
函数前加上这个字符即可。示例如:
string = ["hhhh", "cow", "boy"]
for text in string:time.sleep(1)print('\r' + text, end="")
实现结果如下:
我们可以看到这里我们实现了单次输出列表中的字符串,并且每次输出字符串时会删除掉之前已经打印的字符串。
其次,我们可以用这个性质来实现动态删除字符串的过程,代码如下:
import timestring = "I like u very much"
length = len(string)
for i in range(length):time.sleep(0.3)print("\r" + string[:length - 1 - i] + "|", end="")
实现结果如下:
那么除此之外还有没有别的应用呢?答案是肯定的,请看这篇—Python 自制简易ProgressBar(超链接点击跳转)。
码字不易,如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~