如何在 Python 中制作一个时间敏感的循环?

How to make a time sensitive loop in Python?

我想制作一个每 2 分钟打印一条语句的函数。我真的是 Python 的新手,对时间库还不是很了解。这是我目前的代码:

 from datetime import datetime
 import time                

 now = datetime.now()       

 print now.second           
 print "start"
   while True:
      print "while loop started"
    if (now % 2 == 0):     
       print "Hello"     
    else:                  
       break 

我该怎么做?

你可以在这里使用time.sleep。由于您需要一个 2 分钟的计时器,因此将 120(秒)作为参数值传递。

基本上,这转化为如下内容:

while True:
    time.sleep(120)
    print "Hello"     

这将每 2 分钟打印 "Hello"

请注意,time.sleep 并不完全准确,并且由于 OS 其他进程的调度等和代码本身的执行,可能会出现一小段但任意的时间偏差。

使用sched模块

import sched, time
s = sched.scheduler(time.time, time.sleep)
def do_something(sc): 
    print "Doing stuff..."
    # do your stuff
    sc.enter(60, 1, do_something, (sc,))

s.enter(60, 1, do_something, (s,))
s.run()

看看here.