购物网站建设存在的问题,中国铁道建设协会网站,温州小程序制作,麦片网站建设我有一个工作单位我希望每N秒发生一次.如果我使用简单化minute 60while True:doSomeWork()time.sleep(minute)取决于doSomeWork()花费的时间,实际循环周期将是一分钟加上那个时间.如果doSomeWork()所花费的时间不是确定性的,则工作周期更加难以预测.我想做的就是这样minute 6…我有一个工作单位我希望每N秒发生一次.如果我使用简单化minute 60while True:doSomeWork()time.sleep(minute)取决于doSomeWork()花费的时间,实际循环周期将是一分钟加上那个时间.如果doSomeWork()所花费的时间不是确定性的,则工作周期更加难以预测.我想做的就是这样minute 60start time.process_time() #? i can imagine using this, but maybe theres something better?while True:doSomeWork()start minutesleep_until(start) #? this is the function Im in search of(我正在使用python 3.3)更新在Linux / OSX上,我可以使用itimer from signal来做我正在寻找的东西import signalimport datetimedef tick(_, __):# doSomeWork()print(datetime.datetime.now())signal.setitimer(signal.ITIMER_REAL, 60, 60)signal.signal(signal.SIGALRM, tick)while True:signal.pause()看起来为python3.4开发的郁金香东西也会让这很容易.解决方法:sleep_until(timestamp)基本上是time.sleep(timestamp – time.time()).你的代码实际上是很好的(确保你没有通过负面时间睡觉仍然是一个好主意)import timeminute 60next_time time.time()while True:doSomeWork()next_time minutesleep_time next_time - time.time()if sleep_time 0:time.sleep(sleep_time)我个人会制作一个60秒间隔时间戳的发生器并使用它import timeimport itertoolsminute 60for next_time in itertools.count(time.time() minute, minute):doSomeWork()sleep_time next_time - time.time()if sleep_time 0:time.sleep(sleep_time)标签python,python-3-x