Demander Pardon plutôt que la permission
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