[Python] Pickling in P3.

Paolo Di Ieso paolodiieso a libero.it
Lun 12 Giu 2017 11:37:54 CEST


Il 12/06/2017 11:31, Raffaele Salmaso ha scritto:
> 2017-06-12 11:21 GMT+02:00 Daniele Zambelli 
> <daniele.zambelli a gmail.com <mailto:daniele.zambelli a gmail.com>>:
>
>     Il 9 giugno 2017 12:09, Davide Olianas <davide a davideolianas.com
>     <mailto:davide a davideolianas.com>> ha scritto:
>     > with open('pippo', 'rb') as f:
>     >     oggetto = pickle.load(f)
>     Perché usare with e non semplicemente:
>     f = open('pippo', 'rb')
>     oggetto = pickle.load(f)
>     ?
>
> Così ti rimane aperto il file inutilmente, col with invece lo chiudi 
> appena hai finito di usarlo.
> Per uno script usa e getta potrebbe non essere un problema, ma in 
> generale meglio liberare le risorse usate appena possibile.
>

Aggiungo: e mentre "with" ti chiude automaticamente il file anche in 
caso di eccezione, nel caso di un'eccezione lanciata prima di arrivare a 
un ipotetico f.close() il file rimarrebbe comunque aperto. Puoi sempre 
utilizzare try/finally per chiudere comunque il file qualunque cosa vada 
storto, ma with è lì che lo fa per te, perché non usarlo...

Paolo
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20170612/de817421/attachment.html>


Maggiori informazioni sulla lista Python