Défi
Énoncé
Écrire une classe FichierTemporaire utilisable avec with. La méthode __enter__ crée un fichier vide dans le répertoire temporaire du système (via tempfile.mkstemp) et retourne le chemin du fichier. La méthode __exit__ supprime le fichier même si une exception est levée dans le bloc. Démontrer l'utilisation en écrivant une ligne dans le fichier à l'intérieur du bloc, puis en vérifiant que le fichier n'existe plus après la sortie.
Contraintes
- Python ≥ 3.6.
- Implémenter
__enter__et__exit__manuellement (sanscontextlib.contextmanager). __exit__reçoit(exc_type, exc_val, exc_tb); il doit supprimer le fichier dans tous les cas et renvoyerFalse(propagation des exceptions).- Utiliser
tempfile.mkstempoutempfile.mktemppour générer le nom du fichier. - Bibliothèque standard uniquement (
tempfile,os,pathlibautorisés). - Le programme affiche le chemin du fichier pendant le bloc, puis
"supprimé"ou"existe encore"après la sortie.
Exemple
Sortie attendue, le chemin exact variant d'une exécution à l'autre :
fichier : /tmp/tmpXXXXXX
supprimé
La dernière ligne doit rester supprimé même lorsqu'une exception est levée
à l'intérieur du bloc with.