如何从 Python 调用 erlang?
可能的重复:
集成 erlang 和 python 的最佳方式
使用erlang的一些强大功能,我应该从Python调用erlang程序,我该怎么做?谢谢~
Possible Duplicate:
best way to integrate erlang and python
To use some powerful features of erlang, I should call erlang program from Python, How can I do that? Thank you~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 Erlang 中,您可以使用端口与外部世界进行通信,端口为外部程序提供面向字节的接口。
您还可以查看 erlport,它是一个实现 Erlang 端口协议的 Python 库。
In Erlang , you can communicate with the external world using ports which provides a byte oriented interface to the external program.
You can also have a look at erlport which is a python library implementing the Erlang port protocol.
看看 BERT-RPC。它允许您执行远程过程调用和强制转换、请求数据(包括流式传输)。在那里您可以找到某些语言(包括 Python)的各种库。
在你的情况下,你可能只是使用 ernie 设置 erlang 服务器并通过 python-bertrpc 客户端。这两个项目都有记录。
Take a look at BERT-RPC. It allows you to perform remote procedure calls and casts, request data (including streaming). There you'll find various libraries for some languages including Python.
In your case you might just set up erlang server using ernie and communicate with it via python-bertrpc client. Both projects are documented.
我们主要使用 HTTP 上的 JSON 来完成此操作。在某些情况下,您可能希望使用更强大的消息传递协议(例如带有 RabbitMQ 的 AMQP),但很少有充分的理由让 Python 直接使用 Erlang 分发协议。有时,当性能更重要时,我们使用 erlport 来序列化事物而不是 JSON。
We mostly use JSON over HTTP to do this. In some cases you might want to use a more robust messaging protocol (e.g. AMQP with RabbitMQ), but there's rarely a good reason for Python to directly speak the Erlang distribution protocol. Sometimes we use erlport to serialize things instead of JSON, when performance is a little more important.