[Python] Aggiornare file pickle

Filadelfo Fiamma philosganga a gmail.com
Mar 10 Maggio 2011 13:08:36 CEST


Il 10 maggio 2011 12:59, Daniele Varrazzo <piro a develer.com> ha scritto:
> On Tue, 10 May 2011 12:13:34 +0200, Filadelfo Fiamma
> <philosganga a gmail.com> wrote:
>> Il 10 maggio 2011 12:07, Daniele Varrazzo <piro a develer.com> ha scritto:
>>> On Tue, 10 May 2011 12:01:42 +0200, Filadelfo Fiamma
>>> <philosganga a gmail.com> wrote:
>>>
>>>> Mi chiedo se invece sia possibile aggiornare il file pickle, andando
>>>> dunque a modificare e/o aggiungere solo delle specifiche parti
>>>> piuttosto che effettuare il dump dell'intero oggetto?
>>>
>>> No. Pickle non è un database, è uno stream. Puoi mettere il risultato
> di
>>> pickle in un database ma difficilmente puoi trattarlo in maniera
> diversa
>>> da
>>> un blob opaco.
>>
>> Capisco, tralasciando la difficoltà, la via da percorrere sarebbe la
>> modifica dei metodi __getstate__ e __setstate__ ?
>
> No, forse non le hai capite :)
>
> Pickle si comporta come una sorta di framework: visita un grafo di oggetti
> e per ognuno ne estrae lo stato. Puoi personalizzare come il tuo oggetto
> viene salvato nel pickle implementando __get/setstate__, ma questo non
> modifica la strategia di visita né la scrittura del file.
>
> Pickle è uno stream, il che vuol dire che non chiede mai al file in cui
> scrivere "modifica i byte dal 100 al 103". Se lo facesse non potresti
> scrivere un pickle su stdout o leggerlo da stdin. Questo rende pickle un
> formato di serializzazione, non un database.
>
>
> --
> Daniele Varrazzo - Develer S.r.l.
> http://www.develer.com
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>

Eh si non avevo ben capito :D. Ti ringrazio ancora.

Ciao buona giornata!

FF


Maggiori informazioni sulla lista Python