Ho un modulo che utilizza i tipi ctyp per racchiudere alcune funzionalità da una libreria statica in una classe. Quando il modulo viene caricato, richiama una funzione di inizializzazione nella libreria statica. Quando il modulo viene scaricato (presumibilmente quando l'interprete esce), c'è una funzione di scarico nella libreria che vorrei essere chiamata. Come posso creare questo gancio?Rileva quando un modulo Python scarica
7
A
risposta
13
utilizza il modulo atexit:
import mymodule
import atexit
# call mymodule.unload('param1', 'param2') when the interpreter exits:
atexit.register(mymodule.unload, 'param1', 'param2')
Un altro semplice esempio dai documenti, utilizzando register
come decoratore: (?)
import atexit
@atexit.register
def goodbye():
print "You are now leaving the Python sector."
Problemi correlati
- 1. Rileva quando un modulo è stato chiuso C#
- 2. Scarica html in python?
- 3. Rileva cambiamento modulo effettivo?
- 4. Con quale frequenza Python scarica un file?
- 5. Rileva quando è collegato un nuovo display
- 6. Python scarica tutti i file dall'indirizzo Internet?
- 7. Python: Scarica il file Zip rinviato dall'URL
- 8. Python: rileva quando il mio oggetto è scritto su stdout?
- 9. Angolare - rileva quando un controller è `scaricato '
- 10. Rileva quando alla fine di un strings
- 11. Scarica, estrai e leggi un file gzip in Python
- 12. Creazione di un modulo python
- 13. Python - Come si rileva che un modulo è stato caricato dal caricatore personalizzato?
- 14. Scarica diverse parti di un file contemporaneamente con Python?
- 15. Come estendere un modulo Python? (python-twitter)
- 16. Python JSON carica/scarica interruzioni Unicode?
- 17. Django scarica un file
- 18. Rileva il motivo della chiusura del modulo
- 19. rimuovere un modulo python importata
- 20. scaricare un modulo in Python
- 21. Rileva porta Arduino in Python
- 22. Docker NLTK Scarica
- 23. Python rileva codifica byte stringa
- 24. rileva quando l'applicazione viene chiusa
- 25. Come Mega scarica un file?
- 26. Rileva quando viene caricata un'applet
- 27. Rileva lingua
- 28. Python openCV rileva linee parallele
- 29. Rileva input chiave in Python
- 30. Rileva quando AVAudioSession sta "Ducked"
atexit può essere una soluzione scomoda/sporco, soprattutto se il forche di processo, ecc. Forse è meglio saltare la magia e fornire una funzione di "pulizia/finalizzazione" che l'utente del modulo dovrebbe chiamare? – u0b34a0f6ae
se si 'fork'ed si desidera pulire anche il processo figlio, poiché condividerà tutte le strutture di memoria. – nosklo
C'è un modo per cogliere il momento in cui il modulo si scarica a causa di qualche altra circostanza? (Ad es., Se viene chiamato un 'reload '?) – max