如何在Python中添加处理程序和信号?

如何在Python中添加处理程序和信号?,python,signals,handler,Python,Signals,Handler,我正在用python制作一个雷达,我想做的是在2秒钟后删除检测到的每个点(绘制在地图上)。我是Python的初学者,所以我可能没有用最好的方式来做。我正在使用信号模块将“处理程序”功能附加到信号上,该功能每2秒将作为中断工作,表示应删除绘图上的“最旧”检测点。我不知道如何删除已打印的点,因此我只是通过以背景颜色打印同一点来“着色”: 我的检测点在“点”列表中 def handler(): if 0 != len(points): ax.plot(poin

我正在用python制作一个雷达,我想做的是在2秒钟后删除检测到的每个点(绘制在地图上)。我是Python的初学者,所以我可能没有用最好的方式来做。我正在使用信号模块将“处理程序”功能附加到信号上,该功能每2秒将作为中断工作,表示应删除绘图上的“最旧”检测点。我不知道如何删除已打印的点,因此我只是通过以背景颜色打印同一点来“着色”: 我的检测点在“点”列表中

def handler():
         if 0 != len(points):
            ax.plot(points[0][0], points[0][1], color='#8DEEEE')
            points.pop(0)

#Set the signal handler and a 2-second alarm
signal.signal(signal.SIGALARM, handler)
signal.alarm(2)

我会质疑你的架构。信号是一种操作系统机制,主要用于进程间通信。信号很难得到正确的处理,有很多陷阱,特别是当涉及到允许您在信号处理程序中执行哪些操作时。信号在不同平台上的行为也不相同。我非常确信,对于您的应用程序,您可以找到一种更合适的事件通知方式。您可能需要使用线程(查看
线程
模块)和队列。

信号。报警(2)
不会将报警设置为每两秒发送一次信号,而是在两秒后仅发送一次。但实际上,你的问题是什么?@Pavel有没有办法用Python制作类似于“ticker”的东西,每2秒调用附加到它的函数?谢谢,这很有帮助