关于\r的问题,在此写一个博客,以后也提醒下自己。
python中\r是回车符return,使光标回到这行行首
因为python中的\n自动携带换行功能,所以你不用特意地为了换行而写\n,而是要为了不换行而在输出的时候特意加一句end="",""中敲几个空格各个输出之间就相隔几个空格。
比如我在IDLE中写两个小程序,它们两个就相差一个\r的差距:
#time1.py import time for i in range(101): print("{:3}%".format(i),end="") time.sleep(0.1)
#time2.py import time for i in range(101): print("\r{:3}%".format(i),end="") time.sleep(0.1)
但是我们却发现,在IDLE中按F5运行两个程序,结果完全一样
不是说\r是回车吗,为什么两个输出一样呢??
原来IDLE是程序员编写程序时的开发环境,并不是程序运行的环境,它为了保证参数的运行效果,自动将\r给屏蔽掉了。
接下来我们在windows的DOS界面来分别运行两个程序
这样我们就可以看出两个程序的差别了
time1是老老实实从0%打到100%,而time2是从0%跳到100%。
所以我们以后可以将\r看成是一种覆盖式的写法,如果覆盖不完的话之前的就会剩下。