>----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