【问题标题】:Access time in Real time实时访问时间
【发布时间】:2015-02-21 02:21:21
【问题描述】:

我正在尝试使用以下代码在每分钟的前 45 秒内运行一个循环。但是,当我获得秒数时,该变量仅存储该确切时间的第二个值。如何让变量每秒不断更新?

我的代码:

i = time.strftime("%S")
print i   

while i < 45:
    ...

【问题讨论】:

    标签: python loops time


    【解决方案1】:

    如果您想连续循环打印每秒作为倒数计时器:

    from datetime import timedelta,datetime
    import time
    
    while True:
        if not datetime.now().second: # make sure we start first run at start of minute
            t = timedelta(seconds=45)
            while t:
               t -= timedelta(seconds=1)
               time.sleep(1)
               print(t)
            time.sleep(15) # sleep for 15 seconds before starting again
            t = timedelta(seconds=45)
    

    如果你不关心第一次开始时间,想数一数:

    from datetime import datetime
    import time
    
    while True:
        for sec in iter(lambda: datetime.now().second, 46):
            print(sec)
            time.sleep(1)
        time.sleep(14)  # sleep for 14 seconds before starting again
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    ..............
    

    【讨论】:

      【解决方案2】:

      time.time() 将为您提供自午夜以来的秒数。

      import time
      current_time = time.time()
      time.sleep(6) #Delay Deliberately
      print time.time() - current_time
      

      【讨论】:

        【解决方案3】:

        不漂亮,但我让它按如下方式工作:

        c = 1
        
        while c < 2:
                i = float( time.strftime("%S"))
                while i < 30:
                   i = float(time.strftime("%S"))
        

        【讨论】:

          猜你喜欢
          • 2011-08-17
          • 2018-08-02
          • 1970-01-01
          • 2016-06-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多