Python:以固定费率调用函数

时间:2017-07-06 12:40:59

标签: python raspberry-pi raspbian

应以固定费率(例如10秒)调用 do_something 函数。

我找到了What is the best way to repeatedly execute a function every x seconds in PythonExecuting 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 这是一个小程序。

0 个答案:

没有答案