在Python和Groovy之间传输简单对象

时间:2012-12-31 14:20:22

标签: java python groovy python-3.x python-2.7

可以使用序列化/反序列化(pickle / marshal / shelve)在两个Python进程之间传输对象,Groovy / Java进程之间也可以做同样的事情。

大多数简单的Python和Groovy数据结构(如列表,字典,字符串,整数,甚至文件对象)都可以以通用序列化格式以某种方式序列化,并从Python传输到Groovy流程,反之亦然。

我的问题:是否有任何Groovy模块可以解释Python pickle对象流并在Groovy中重新创建简单的数据结构,或者任何可以解释Groovy序列化对象流的Python模块?

2 个答案:

答案 0 :(得分:3)

我认为没有用于阅读“对方”格式的库(但也许我错了),特别是如果你要(de)序列化复杂的语言特定对象,如文件。

我建议寻找一些良好的跨语言解决方案,如ThriftProtocol Buffers,或者简化通信协议并使用像JSON这样的简单方法。

答案 1 :(得分:1)

我建议使用Google Protocol Buffers,因为它现在在行业中被广泛使用。

甚至,我使用相同的方法进行Perl序列化对象和Java对象之间的通信,反之亦然。

ProtoBuf RPC example

Protocol Buffers Java Tutorials