>----Messaggio originale----
>Da: "Carlo Miron" <mi...@python.it>
>Data: 12/06/2017 11.35
>A: "Discussioni generali sul linguaggio Python"<python@lists.python.it>
>Ogg: Re: [Python] Pickling in P3.
>
>2017-06-12 11:31 GMT+02:00 Raffaele Salmaso <raffa...@salmaso.org>:
>> 2017-06-12 11:21 GMT+02:00 Daniele Zambelli <daniele.zambe...@gmail.com>:
>>>
>>> Il 9 giugno 2017 12:09, Davide Olianas <dav...@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.
>
>Inoltre se non chiudi esplicitamente il file, Windows™ non lo scrive
>su disco, abbiamo scoperto.

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

Paolo
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a