应以固定费率(例如10秒)调用 do_something 函数。
我找到了What is the best way to repeatedly execute a function every x seconds in Python或Executing periodic actions in Python等链接。不幸的是,那些实现给出了与我原本相同的解析
time.sleep(10)
在 while -loop结束时,这不是我想要的行为。
Hier是一个示例输出:
2015-01-01 13:00:00
2015-01-01 13:00:10
2015-01-01 13:00:21
2015-01-01 13:00:31
2015-01-01 13:00:42
希望行为应该是:
2015-01-01 13:00:00
2015-01-01 13:00:10
2015-01-01 13:00:20
2015-01-01 13:00:30
2015-01-01 13:00:40
目前这是我的解决方案:
import time
import datetime
def do_something():
print(datetime.now())
period = 10
while True:
do_something()
t = time.time()
time_to_sleep = period - ( t % period )
time.sleep( time_to_sleep )
不熟悉这种方法和我的覆盆子pi 3我无法以固定的速率获得稳定的时间戳。这是一个输出示例:
2015-01-01 13:00:00
2015-01-01 13:00:10
2015-01-01 13:00:23
2015-01-01 13:00:33
2015-01-01 13:00:40
有什么想法吗?
PS 这是一个小程序。