So che in Python il metodo file.close()
non ha alcun valore di ritorno, ma non riesco a trovare alcuna informazione se in alcuni casi genera un'eccezione. Se non lo fa, suppongo che la seconda parte di questa domanda sia superflua.file.close() gestione delle eccezioni all'interno di una istruzione with in Python
In caso affermativo, quale sarebbe il modo "corretto" per gestire il metodo file.close()
generando un'eccezione all'interno di un'istruzione "con" utilizzata per aprire il file?
C'è una situazione in cui file.close()
potrebbe non riuscire immediatamente dopo che un file è stato aperto e letto correttamente?
Se stai usando Python 2.5 o versioni successive, un blocco 'with' chiuderà automaticamente il file per te. Non c'è bisogno di dichiarare esplicitamente 'close()' in quel caso. – Daniel
@Daniel, OP usa il tag python 3.x. @Bitrex puoi stampare l'errore se succede avvolgendo la tua istruzione 'with' con un' try: tranne Exception, e: print (e) ' – awbemauler
con le istruzioni puoi lanciare eccezioni senza modo di gestirle se non eseguendo il wrapping in try/eccezione.con/tranne è stato proposto ma abbattuto. con le dichiarazioni sono zucchero sintattico per i casi di uso semplice in cui non è prevista alcuna eccezione. Vedi http://stackoverflow.com/questions/8774830/how-with-is-better-than-try-catch-to-open-a-file-in-python per una discussione estesa. –