Nuovo nella versione 2.0.
Il modulo atexit definisce una singola funzione per registrare azioni di pulizia. Le funzioni così registrate vengono automaticamente eseguite sulla normale terminazione dell'interprete.
Nota: le funzioni registrate tramite questo modulo non vengono chiamate quando il programma viene ucciso da un segnale, quando viene rilevato un errore fatale di Python o quando viene chiamato os._exit().
Questa è una interfaccia alternativa per la funzionalità fornita dalla
variabile sys.exitfunc
.
Nota: questo modulo è improbabile che lavori correttamente quando
usato con altri codici che impostano sys.exitfunc
. In
particolare altri moduli di Python sono liberi di usare
atexit senza la conoscenza del programmatore. Gli autori che
utilizzano sys.exitfunc
dovrebbero invece convertire i loro
codici per poter utilizzare atexit. Il modo più semplice per
convertire un codice che imposti sys.exitfunc
è quello di
importare atexit e registrare la funzione che veniva limitata
da sys.exitfunc
.
func[, *args[, **kargs]]) |
Quando viene terminato normalmente il programma (per esempio, se viene chiamata sys.exit() oppure viene completata l'esecuzione del modulo principale), tutte le funzioni registrate vengono chiamate nell'ordine, ultima entrata, prima ad uscire. La consuetudine è che i moduli di livello più basso vengano normalmente importati prima di quelli di livello più alto e quindi dovranno essere cancellati successivamente.
Vedete anche: