Ho le context management en Python : plutôt que de try/except la même exception plusieurs fois comme un porc selon comment tu sors de ton programme (bien, erreur dans les paramètres, erreur plus loin,...), tu confies tes objets "sensibles" (genre un handler ou une socket) à « with » et quoi qu'il arrive (exceptions ou déroulement normal), with exécute le code prévu par les auteurs des objets "sensibles" pour tout nettoyer avant de quitter (fermer le handler, par exemple).
Merci à b4n (
http://ban.netlib.re/shaarli/ ) de m'avoir fait découvrir ça. :)