2010-05-17 6 views
9

Jestem zaskoczony, że istnieją 3 różne formy: RawConfigParser, SafeConfigParser i ConfigParser (docs). Czytałem różnice, ale dlaczego nie wszyscy używają SafeConfigParser, ponieważ wydaje się, że jest bezpieczny? Rozumiem, że w przypadku Pythona 2 pozostałe dwie zostały zachowane pod kątem kompatybilności wstecznej.Dlaczego w Pythonie 3 istnieje {Raw, Safe} ConfigParser?

UPDATE W Pythonie 3.2 SafeConfigParser została zmieniona na ConfigParser, a stary ConfigParser została usunięta, (źródło: NEWS for Python 3.2).

Odpowiedz

6

W skrócie, użyj configparser.SafeConfigParser.

Przytaczając the docs, SafeConfigParser "implementuje bardziej logiczny wariant magicznej interpolacji.Ta implementacja jest bardziej przewidywalna.Nowe aplikacje powinny preferować tę wersję, jeśli nie muszą być zgodne ze starszymi wersjami Pythona . "

Wygląda na to, że stary program ConfigParser nadal istnieje w Pythonie 3 ze względu na zgodność wsteczną: nie wszystko zostało skompilowane wstecz!