python - 如何在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:
不起作用。
我很困惑如何设置输入采样代码的条件。
解决方案
最简单的方法是使用time.sleep
:
from time import sleep
for i in range(125):
"""do sample record"""
sleep(0.08)
您可能没有得到任何数据,因为您只在离散的时刻收集时间。在这些时刻,它们永远不会是 0.08 的完美倍数。
推荐阅读
- java - 有没有比使用反射通过继承层次结构中的工厂方法实例化元素更好的方法?
- delphi - 如何检测 THTTPReqResp SOAP 请求的特定(超时)错误?
- matlab - 来自 tstatistics 向量的 pvalues 向量?
- mfc - 我在 VS-2019 中缺少 Add new item Add "MFC Class From Typelib"
- r - 如何通过多个列为每个 id 连接表
- image - SwiftUI 上的 Image 中的 frame() 是否会针对每个设备具有不同的大小?
- java - Java 优化读/写共享资源/内存位置,无需 Atomic API,例如 AtomicInteger
- java - Extend Single ID REST endpoint to support multiple IDs
- docker - How to build windows server core on Windows 10 Pro?
- amazon-cognito - 使用 Amazon Cognito 注册自动确认账户后如何发送验证电子邮件?