In CPython, file chiudono quando il loro refcount va a zero, anche se non si utilizza una con la dichiarazione. A seconda di come si utilizza l'oggetto file, si corre il rischio che i riferimenti circolari evitare che ciò accada. Ma ci sono le condizioni, come alcuni segnali in cui la pulizia regolare non accade. In tal caso, si può perdere qualsiasi dato è ancora nel buffer di file processo locale che non è stato svuotato.
La soluzione meno rischiosa è quella di utilizzare with
le dichiarazioni quando possibile, e try/finally
blocchi che ripulire i file altrimenti.