如何在Python中通过中断创建事件系统

1 投票
1 回答
1197 浏览
提问于 2025-04-17 17:49

因为我对Python的图形用户界面(GUI)一无所知,
所以我需要一些帮助,想要建立一个机制,
通过HTML、CSS或Ajax(node.js、Apache或nginx服务器)向Python程序发送请求,以执行某些功能。

举个例子,
我有一个Python程序在运行一个while True:的循环,但在某个时刻,我想发送一个中断信号,并传送数据来执行一个类似事件系统的功能。

首先,我给程序绑定了一个事件:

#program.bind(EVENT_NAME, EVENT_HANDLER)
program.bind(miaowcat, miaowfunc)

程序在运行时,任何时候只要执行中断,就会调用函数miaowfunct,并把事件的数据传递给*args

def miaowfunct(*args):

这只是一个原型。所以,args可以是数字信号或其他元素。

我不知道该怎么做。

1 个回答

3

这种问题是消息系统专门用来解决的。

你写了一段代码,这段代码需要在某个触发条件下执行(这叫做消费者)。

负责执行这个功能的代码(叫做生产者)会创建一条消息,并把它发送给一个中介。

这个中介会接收你的消息,并把它放到一个队列里。

消费者会在这个队列上监听消息,当它看到有消息时,就会“醒来”,执行自己的代码,然后再回去休息。

在Python中,通常会用到以下工具:

撰写回答