Python里使用转义字符\r时遇到的问题

在Pycharm里使用转义字符\r和在IDLE里使用\r产生的结果是不一样的。

例子如下:

print("你好!\r我是Python!")

输出结果为:

我是Python!

前面的“你好!"不见了。

而在IDLE里输入同样的语句,输出的结果则为:

你好!我是Python!

这个问题让我一度纠结很久,在查阅资料之后得到如下解释:

\n  和  \r 都是特殊控制符,这些都是来自于老式电传打字机的功能。

\n 是newline开个新行。

\r 是Carriage return, 打印头回到行首。如果没有\n就直接\r 那么这行就会被覆盖打印了。

现在各个操作系统处理上不太一样,在不同的终端显示上也不太相同。

在idle中是不能实现 \r的功能的。

意思就是说,一切以Pycharm里为准,IDLE里实现不了\r的功能。

而\r的功能就是让光标回到行首,覆盖之前的内容,所以就产生了“我是Python!"覆盖了“你好!"的结果。

posted on 2019-02-13 22:01  与燕分茶  阅读(4355)  评论(0编辑  收藏  举报

导航