Python中print()打印\r 在pycharm中的问题
最近刚接触python的time模块想做一个时钟,但是遇到一个问题,我想一直让时间自己刷新但是用print的话每次都得输出一行,然后我就用到了""/r""
\r介绍:
\r 代表回车,也就是打印头归位,(光标)回到当前行的开头。
1.我的思路是让每次打印的的时间后面添加一个\r,这样第二次(光标重新回到开头)打印的的数据可以覆盖第一次的数据
2.代码如下
from time import *
def shizhong():
s = localtime()
gs ="%H %M %S"
sp =strftime(gs,s).split(" ")
print("北京时间:%s:%s:%s"%(sp[0],sp[1],sp[2]),end="\r")
while True:
shizhong()
sleep(1)
3.当我在终端运行时,一秒打印一次时间而且,第二次覆盖第一次,但是我发现在pycharm中输出时,却输出位空,这时候我就在想终端的输出显示和pycharm控制台不一样吧,这时候我把代码改成如下代码就能输出了!!
from time import *
def shizhong():
s = localtime()
gs ="%H %M %S"
sp =strftime(gs,s).split(" ")
print("\r北京时间:%s:%s:%s"%(sp[0],sp[1],sp[2]),end="")
while True:
shizhong()
sleep(1)
4.(pycharm下)我把\r放在了输出的最前面,这时候我明白了为什么输出不出来了,如果\r放在后面的话前面数据就会被一直覆盖根本打印不出来
如果是放在前面就能打印\r后面的了遇到第2个\r就把前面的数据覆盖了,这样就实现了数据刷新。
5.我发现终端的打印输出和pycharm的打印输出不太一样,但是不知道为什么会这样,求大牛指导。