3

在 java 中,我可以使用Object Output StreamObject Input Stream在服务器和客户端之间传输对象。python中有什么等价的吗?

有关的:

4

2 回答 2

9

Python 中的 pickle 模块提供对象序列化和反序列化功能。 http://docs.python.org/library/pickle.html

它不是特别安全,因此您应该始终验证传入的数据,但它应该支持您的需求。

于 2012-05-22T17:03:34.460 回答
3

多处理模块具有处理序列化和在进程之间传递对象的 Pipe() 函数。 http://docs.python.org/library/multiprocessing.html#multiprocessing.Pipe

示例(管道也在同一进程中工作)

import multiprocessing

class ObjectToSend:
    def __init__(self,data):
        self.data = data

obj = ObjectToSend(['some data'])

#create 2 read/write ends to a pipe
a, b = multiprocessing.Pipe()
#serialize and send obj across the pipe using send method
a.send(obj) 
#deserialize object at other end of the pipe using recv method
print(b.recv().data)
于 2012-05-22T22:37:44.907 回答