如何在给定的时间范围内获得输入?

2024-04-19 21:17:54 发布

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

我在做一个项目,输入是以浮点值的形式从车轮编码器获取的。如何每60秒获取一次输入,并将输入输入输入到神经网络模型中。 在代码中,每60秒记录一次公里/小时,然后输入神经网络

if __name__ == '__main__':
    init_GPIO()
    init_interrupt()
    while True:
        calculate_speed(40)
        print('kmh:{1:.0f}'.format(km_per_hour))
        sleep(0.1)

Tags: 项目代码name模型gpioifinitmain
1条回答
网友
1楼 · 发布于 2024-04-19 21:17:54

记录每轮开始时的时间,并检查是否已过60秒

if __name__ == '__main__':
    import time
    init_GPIO()
    init_interrupt()
    while True:
        start_time = time.time()  # seconds since unix time
        end_time = start_time + 60
        list_speeds = list()
        while time.time() < end_time:
            km_per_hour = calculate_speed(40)
            list_speeds.append(km_per_hour)
            print('kmh:{1:.0f}'.format(km_per_hour))
            sleep(0.1)
        else:  # while-else
            feed_your_dino(list_speeds)

如果不想锁定输入,可以执行以下操作:在新线程中运行函数,而不锁定程序:

if __name__ == '__main__':
    import time, threading
    init_GPIO()
    init_interrupt()
    while True:
        start_time = time.time()  # seconds since unix time
        end_time = start_time + 60
        list_speeds = list()
        while time.time() < end_time:
            km_per_hour = calculate_speed(40)
            list_speeds.append(km_per_hour)
            print('kmh:{1:.0f}'.format(km_per_hour))
            sleep(0.1)
        else:  # while-else
            th_my_ai = threading.Thread(target=feed_your_dino, args=(list_speeds,))
            th_my_ai.start()

相关问题 更多 >