亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 陷阱例程

Python 陷阱例程

慕容森 2021-06-11 14:38:39
好吧,我以編程ABB 工業機器人為生,我們使用的編程語言稱為Rapid。我可以在 Rapid 中做的一件很酷的事情叫做陷阱程序。它就像一個 while 循環,但不是在檢查條件之前循環遍歷整個循環,它會在等待的事件發生時立即中斷。我想它類似于 javascript 中的事件偵聽器。就好像運行在普通程序的后臺一樣。我想在 python 中做到這一點。我幾乎沒有接受過正規的 CS 教育,所以我不確定這個概念是什么。對不起,如果它有點含糊,我不確定如何以清晰的方式詢問它。
查看完整描述

1 回答

?
白板的微信

TA貢獻1883條經驗 獲得超3個贊

像大多數語言一樣,Python 也使用處理函數來處理系統信號。有關更多詳細信息,請查看討論接收和發送信號的信號章節,例如此處的示例。


簡而言之,您可以將一個函數綁定到一個或多個信號:


>>> import signal

>>> import sys

>>> import time

>>> 

>>> # Here we define a function that we want to get called.

>>> def received_ctrl_c(signum, stack):

...     print("Received Ctrl-C")

...     sys.exit(0)

... 

>>> # 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>

>>> 

>>> # 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:

...     print("Waiting…")

...     time.sleep(5)

... 

Waiting…

Waiting…

Waiting…

^CReceived Ctrl-C

在您的特定情況下,找出機器人向您的 Python 進程(或任何偵聽信號的進程)發送哪些信號,然后如上所示對它們采取行動。


查看完整回答
反對 回復 2021-06-15
  • 1 回答
  • 0 關注
  • 180 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號