Python中print()打印\r 在pycharm中的问题

本文探讨使用Python的time模块实现一个不断更新显示当前时间的实时数字时钟。通过合理运用 字符使输出时间能够覆盖前一次输出,从而达到在终端或PyCharm环境中实时刷新的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

   

  

转载于:https://www.cnblogs.com/bosha/p/8811111.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值