E 'necessario per chiudere i file dopo la scrittura dei dati JSON a loro in Python

voti
0

Se io uso:

with open(Name, 'w') as outfile:
    json.dump(json_object, outfile)

è necessario utilizzare il metodo file.close () dopo?

In casi generali come la scrittura stringhe normali per i file in python che cosa è la conseguenza di non utilizzando il metodo file.close ()?

È pubblicato 08/04/2016 alle 14:41
dall'utente
In altre lingue...                            


2 risposte

voti
4

Il vantaggio di usare la 'con' costrutto è proprio che non dovrete preoccuparvi di chiudere il file qui, in quanto sarà automaticamente chiusa quando il file va fuori di portata.

Risposto il 08/04/2016 a 14:47
fonte dall'utente

voti
1

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 withle dichiarazioni quando possibile, e try/finallyblocchi che ripulire i file altrimenti.

Risposto il 08/04/2016 a 15:33
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more