在python中,我有需要触发的代码以及每分钟的顶部。我有一个 while 循环。观察时间以及新的一分钟何时开始然后执行的最佳原因是什么?
谢谢
while True:
if TOP_OF_MIN:
run_code()
最佳答案
在程序中,一分钟是很长的时间。找出这一分钟还剩多少秒, sleep 这么长时间,然后每个周期 sleep 60 秒——或者只是继续检查秒数,这样可以防止逐渐漂移。
while True:
now = time.localtime().tm_sec
time.sleep(60 - now) # `now` is between 0 and 59, so we always sleep
print("tick")
如果您需要高于秒的精度,请使用以小数形式返回秒数的函数之一(例如,time.time()
)
关于Python p 在新分钟的顶部或开始运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36062025/