猿问

Python 陷阱例程

好吧,我以编程ABB 工业机器人为生,我们使用的编程语言称为Rapid

我可以在 Rapid 中做的一件很酷的事情叫做陷阱程序。它就像一个 while 循环,但不是在检查条件之前循环遍历整个循环,它会在等待的事件发生时立即中断。

我想它类似于 javascript 中的事件侦听器。就好像运行在普通程序的后台一样。我想在 python 中做到这一点。

我几乎没有接受过正规的 CS 教育,所以我不确定这个概念是什么。对不起,如果它有点含糊,我不确定如何以清晰的方式询问它。


慕容森
浏览 161回答 1
1回答

白板的微信

像大多数语言一样,Python 也使用处理函数来处理系统信号。有关更多详细信息,请查看讨论接收和发送信号的信号章节,例如此处的示例。简而言之,您可以将一个函数绑定到一个或多个信号:>>> import signal>>> import sys>>> import time>>>&nbsp;>>> # Here we define a function that we want to get called.>>> def received_ctrl_c(signum, stack):...&nbsp; &nbsp; &nbsp;print("Received Ctrl-C")...&nbsp; &nbsp; &nbsp;sys.exit(0)...&nbsp;>>> # Bind the function to the standard system Ctrl-C signal.>>> handler = signal.signal(signal.SIGINT, received_ctrl_c)>>> handler<built-in function default_int_handler>>>>&nbsp;>>> # Now let’s loop forever, and break out only by pressing Ctrl-C, i.e. sending the SIGINT signal to the Python process.>>> while True:...&nbsp; &nbsp; &nbsp;print("Waiting…")...&nbsp; &nbsp; &nbsp;time.sleep(5)...&nbsp;Waiting…Waiting…Waiting…^CReceived Ctrl-C在您的特定情况下,找出机器人向您的 Python 进程(或任何侦听信号的进程)发送哪些信号,然后如上所示对它们采取行动。
随时随地看视频慕课网APP

相关分类

Python
我要回答