Używam Python's ConfigParser do utworzenia pliku konfiguracyjnego. Chcę sprawdzić, czy sekcja ma określoną opcję, a jeśli tak, to uzyskać wartość. Jeśli opcja nie jest zdefiniowana, po prostu chcę kontynuować bez żadnego specjalnego zachowania. Wydaje się, że są na to dwa sposoby.Python ConfigParser: Sprawdzanie istnienia opcji
if config.has_option('Options', 'myoption'):
OPTION = config.get('Options', 'myoption')
Lub:
try:
OPTION = config.get('Options', 'myoption')
except ConfigParser.NoOptionError:
pass
jest jedną z metod preferowane nad innymi? Numer if
zawiera mniej wierszy, ale od czasu do czasu czytałem, że w wielu przypadkach jest to bardziej python.
To ma sens. Będę trzymać się metody 'if'. Byłbym ciekawy, czy jeden sposób jest szybszy od drugiego. Metoda 'if' wywołuje obiekt ConfigParser dwukrotnie, gdzie metoda' try' robi to tylko raz. Nie wiem, czy to może mieć wpływ. – user1272534