首页 > 解决方案 > 如何在python中准确采样

问题描述

在工作中,我有一个需求:在 10 秒内每 0.08 秒采样一次。

我使用while循环,但它失败了。

import time
start_t =time.time()
while time.time() -start_t <=10:
    if float(time.time() -start_t) % float(0.08) == 0:
       """do sample record""

最后,我根本没有数据,我认为这if float(time.time() -start_t) % float(0.08) == 0:不起作用。

我很困惑如何设置输入采样代码的条件。

标签: pythonprecisionlow-latencysample-ratesoft-real-time

解决方案


最简单的方法是使用time.sleep

from time import sleep
for i in range(125):
    """do sample record"""
    sleep(0.08)

您可能没有得到任何数据,因为您只在离散的时刻收集时间。在这些时刻,它们永远不会是 0.08 的完美倍数。


推荐阅读