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的打印输出不太一样,但是不知道为什么会这样,求大牛指导。

   

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM