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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!