每隔一段时间做一次动作

2024-06-29 00:50:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试(python2.7)设置一个以固定采样频率(即每x毫秒)执行的操作。然而,我面临着不准确的结果。由于代码波纹管(采样频率1000Hz,代码运行5秒),我希望有5*10000个样本。相反,我得到了更低的值。我想有一个5000Hz的采样频率最多,但我也会很高兴与1000Hz。你知道吗

有人能帮我吗?你知道吗

import datetime

count = 0
loop_start_time = start_time = datetime.datetime.now()

while datetime.datetime.now() - loop_start_time <= datetime.timedelta(0,5,0): #loop for 5 seconds
    if datetime.datetime.now() - start_time >= datetime.timedelta(0,0,1000): #perform an action every 1000 microseconds (1 millisecond, 0.1 seconds)
        start_time = datetime.datetime.now()
        count = count + 1
print count

致以最诚挚的问候, T2级


Tags: 代码importloopdatetimetimecountstartnow
1条回答
网友
1楼 · 发布于 2024-06-29 00:50:14

你喜欢这个工作吗?你知道吗

import time
import threading

total_time = 5
increment_time = .1
is_running = False
count = 0

def incrementCounter(): 
  global count
  global is_running
  is_running = True
  threading.Timer(increment_time, incrementCounter).start()
  count += 1
  # Any additional code should be put here

end_time = time.time() + total_time
while time.time() < end_time:
  if not is_running:
    incrementCounter()


print count

为此,我得到约50输出。你知道吗

相关问题 更多 >