python使用订阅发布模式共享数据

2023-12-21 17:08:42

`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)。

文章来源:https://blog.csdn.net/qq_25368751/article/details/135133192
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。