La communauté Python utilise le coding style appelé EAFP (Easier to Ask for Forgiveness than Permission) au lieu du style LBYL (Look Before You Leap). Ce coding style suppose que les fichiers et variables existent. En d’autres termes, plutôt que de tester toutes les pré-conditions, les problèmes éventuels sont “catchés” comme des exceptions. EAFP est plus pertinent que LBYL car il est presque impossible d’anticiper tous les problèmes. Le code Python est donc généralement plus concis, plus clair et rempli de try except.


Anti-pattern (Pas bien!)

import os

if os.path.exists("mon_fichier.txt"):
    os.unlink("mon_fichier.txt")

Bonne pratique (Bien!)

Contrairement au code ci-dessus qui check si mon_fichier.txt existe avant de l’utiliser, on suppose qu’il existe bien et on catch les éventuelles exceptions.

import os

try:
    os.unlink("file.txt")
except OSError:
    pass