`PyPubSub`,它可以处理不同实例之间的事件传递。
以下是一个使用 `PyPubSub` 的基本示例,展示了如何在两个不同的文件中创建自己的实例,并通过发布/订阅模式进行通信:
### 安装 PyPubSub
首先,您需要安装 `PyPubSub` 库。可以通过pip安装:
pip install pypubsub
### `publisher.py` - 发布者
from pubsub import pub
def publish_event():
pub.sendMessage('new_data_event', data='some data')
# 调用发布函数
publish_event()
### `subscriber.py` - 订阅者
from pubsub import pub
# 定义事件处理函数
def handle_event(data):
print(f"Received event with data: {data}")
# 订阅事件
pub.subscribe(handle_event, 'new_data_event')
# 这里通常会有一个等待或监听循环
在这个示例中,`publisher.py` 发布一个名为 `new_data_event` 的事件,而 `subscriber.py` 订阅这个事件。当事件被发布时,订阅者的处理函数 `handle_event` 会被调用。
请注意,对于这种方法,两个文件(模块)需要运行在同一个Python解释器实例中,因为 `PyPubSub` 在内存中传递消息。如果您需要在完全独立的Python进程之间进行通信,您可能需要使用外部消息队列服务(如RabbitMQ或Redis)或者网络请求(比如HTTP API)。