J'utilise ConfigParser de Python pour créer un fichier de configuration. Je veux vérifier si une section a une option particulière définie et, si c'est le cas, obtenir la valeur. Si l'option n'est pas définie, je veux juste continuer sans aucun comportement particulier. Il semble y avoir deux façons de procéder.
if config.has_option('Options', 'myoption'):
OPTION = config.get('Options', 'myoption')
Ou:
try:
OPTION = config.get('Options', 'myoption')
except ConfigParser.NoOptionError:
pass
Une méthode est-elle préférée à l'autre? Le if
implique moins de lignes, mais j'ai parfois lu que try
/except
est considéré comme plus pythonique dans de nombreux cas.
Le choix entre try/except et if-condition est une ligne floue.
Il n'y a pas de choix clairement supérieur, mais il semble que vous ayez un cas de (2), alors j'opterais pour si/alors. Cela ignore complètement les aspects de plus facile à demander pardon que la permission et l'efficacité relative des structures.