Python 程序对事件作出反应

Python program reacting to an event

我正在 Python 编程 "Robot Controller" 来控制 V-Rep 模拟机器人。我的机器人有一个接近传感器,它可以是 True(如果它检测到他面前有东西)或 False(如果它前方没有障碍物)。我希望一旦我的传感器从 False 变为 True,Python 程序就会做出反应,例如,调用一个过程。

传感器的状态存储在 Python 中的布尔变量中,但我当然会避免等待的忙碌形式:

While True:
    if sensor_state:
       # Do Something

我希望在程序的正常流程中,一旦 sensor_state 发生变化,就必须执行一些语句。

谢谢指教。

如果你可以使用 while 循环,你可能会使用这样的方法:

while False:  # You said that True indicates there's something ahead
    if object_ahead:
        sensor_state = True

或者您可以直接跳出循环并完全放弃布尔变量:

while False:
    if object_ahead:
        break

如果你不能使用 while 循环,因为你需要你的程序在那段时间做其他事情,那么考虑使用 "threading" 模块来调用一个函数作为一个单独的线程。