3.14.2 Il formato di flusso dei dati

Il formato dei dati usati da pickle � specifico di Python. Questo ha il vantaggio che non ci sono restrizioni imposte da standard esterni come per XDRR (che non pu� rappresentare una condivisione dei puntatori); comunque sia, questo significa che programmi non-Python non hanno la capacit� di ricostruire oggetti serializzati con Python.

In modo predefinito, il formato dati di pickle usa una rappresentazione ASCII stampabile. Questa � leggermente pi� voluminosa di una rappresentazione binaria. Il grande vantaggio nell'usare ASCII stampabile (e qualche altra caratteristica nella rappresentazione di pickle) � che per debugging o per necessit� di ripristino, � possibile comprendere il contenuto di file serializzati semplicemente leggendoli con un editor di testi standard.

Esistono attualmente 3 differenti protocolli che possono venire usati per la serializzazione.

Fate riferimento alla PEP 307 per maggiori informazioni.

Se un protocol non viene specificato, viene utilizzata la versione 0. Se il protocol viene specificato indicando un valore negativo o HIGHEST_PROTOCOL, viene usato il protocollo disponibile con il valore pi� alto.

Modificato nella versione 2.3: Il parametro bin � deprecato e viene fornito soltanto per compatibilit� all'indietro con le versioni precedenti. Al suo posto usate il parametro protocol.

Un formato binario, che � nettamente pi� efficiente, pu� venire scelto specificando un valore vero per l'argomento bin al costruttore Pickler o alle funzioni dump() e dumps(). Un protocol versione >=1 implica l'uso di un formato binario.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.