/ / Python odpowiada java ObjectOutputStream i ObjectInputStream? - java, python, odpowiednik

Pythonowy odpowiednik java ObjectOutputStream i ObjectInputStream? - java, python, odpowiednik

W java mogę przenosić obiekty między serwerem a klientem za pomocą Strumień wyjściowy obiektu i Strumień wejściowy obiektu. Czy w Pythonie jest coś równoważnego?

Związane z:

Odpowiedzi:

9 dla odpowiedzi № 1

Moduł pickle w Pythonie zapewnia funkcję serializacji obiektów i deserializacji. http://docs.python.org/library/pickle.html

Nie jest to szczególnie bezpieczne, dlatego zawsze powinieneś sprawdzać poprawność przychodzących danych, ale powinno to wspierać twoje potrzeby.


3 dla odpowiedzi № 2

Moduł wieloprocesowy ma funkcję Pipe (), która obsługuje serializowanie i przekazywanie obiektów między procesami. http://docs.python.org/library/multiprocessing.html#multiprocessing.Pipe

przykład (rury działają również w ramach tego samego procesu)

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)