我不确定是否可行,但是我正在使用python处理datetime,所以我知道它会引起混淆。
我有一个Python脚本,每5分钟运行一次,并在5分钟至3分钟之间收集数据。如果脚本在00秒上运行,则可以正常工作
我不确定是否可行,但是我正在使用python处理datetime,所以我知道它会引起混淆。
我有一个Python脚本,每5分钟运行一次,并在5分钟至3分钟之间收集数据。如果脚本在00秒上运行,则可以正常工作
答案 0 :(得分:0)
使用the Timer function每秒运行一次代码,创建一个条件语句来检查时间是否以“ 00”结尾。然后,在您需要时间时,执行代码。
答案 1 :(得分:0)
我通常要做的是对感兴趣的时间间隔取模,因此在您的情况下为15分钟:
>>> t = time.time()
>>> t
1555065206.8165069
>>> t += 15*60-1
>>> t -= t % (15*60)
>>> t
1555065900.0
>>> time.localtime(t)
time.struct_time(tm_year=2019, tm_mon=4, tm_mday=12, tm_hour=12, tm_min=45, tm_sec=0, tm_wday=4, tm_yday=102, tm_isdst=1)
所以您可以做的事情是这样的:
import time
while True:
t = time.time()
t += 15*60-1
t -= t % (15*60)
print(time.localtime(t))
print('printing again in 5 minutes')
time.sleep(5*60)
那应该输出类似:
time.struct_time(tm_year=2019, tm_mon=4, tm_mday=12, tm_hour=16, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=102, tm_isdst=1)
printing again in 5 minutes
time.struct_time(tm_year=2019, tm_mon=4, tm_mday=12, tm_hour=16, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=102, tm_isdst=1)
printing again in 5 minutes
time.struct_time(tm_year=2019, tm_mon=4, tm_mday=12, tm_hour=16, tm_min=15, tm_sec=0, tm_wday=4, tm_yday=102, tm_isdst=1)
printing again in 5 minutes
...