【问题标题】:Print out text with dynamic pieces in Python to the Terminal [duplicate]在 Python 中将带有动态片段的文本打印到终端 [重复]
【发布时间】:2018-05-15 17:22:25
【问题描述】:

在 Python 中,我如何在终端中实时打印出时间?

while(True):
    print("[ " + "Time: " + datetime.date.today().strftime("%Y-%m-%d") + " ]")

上面的代码将无限次打印出该行。如何在不在每一行上执行打印语句的情况下执行“静态”文本行并每秒刷新时间?希望这不会太令人困惑:)

不知道要搜索什么,它没有给我想要的结果。

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    默认情况下,print 在行尾输出\n(或Windows 上的\r\n)以移至N新行。您只需要输出\rR返回当前行的开头(并在同一行再次输出之前休眠一秒钟):

    import time, datetime
    while True:
        s = datetime.datetime.now().strftime('[ Time: %Y-%m-%d %H:%M:%S ]')
        print(s, end='\r')
        time.sleep(1)
    

    【讨论】:

      【解决方案2】:
      import sys
      import datetime
      
      while(True):
          sys.stdout.write("\r" + "[ " + "Time: " + datetime.date.today().strftime("%Y-%m-%d") + " ]")    
          sys.stdout.flush()
      

      你可以试试这个库

      【讨论】:

        猜你喜欢
        • 2018-08-28
        • 2014-05-18
        • 2010-10-06
        • 1970-01-01
        • 2014-09-16
        • 2011-01-08
        • 2018-10-23
        • 1970-01-01
        相关资源
        最近更新 更多