我的代码有时会在17秒内工作,有时会在23秒内有时在40秒内随着我的连接速度和获得的数据而变化。但是我想每隔5分钟重复一次工作,例如12:05 12:10 12:15。但是由于工作时间的变化,就像12:05 12:11 12:16。由于一天的时间差,我的代码整天都在运行,而我却得到了将近30分钟的延迟。如果您能帮助我,我将很高兴为所有人度过美好的一天
import time
from datetime import datetime
def main():
present_time=datetime.now()
*****MY CODE HERE*****
print(datetime.strftime(present_time,"%X"))
while True:
main()
time.sleep(300)
答案 0 :(得分:0)
似乎您想要以下内容,这将导致程序最多休眠到下一个5分钟标记。如果您的代码运行时间超过5分钟,它将不会进入休眠状态,而是立即开始下一个5分钟间隔。
from time import time, sleep
def main():
# *****YOUR CODE HERE*****
while True:
start_time = time()
main()
sleep(max(0, 5 * 60 + start_time - time()))