2010-05-17 12 views
9

Me sorprende que haya 3 formas diferentes: RawConfigParser, SafeConfigParser y ConfigParser (docs). Leí las diferencias, pero ¿por qué no todos usan SafeConfigParser, ya que parece, bueno, seguro? Puedo entender que en el caso de Python 2, los otros dos se mantuvieron por compatibilidad con versiones anteriores.¿Por qué hay {Raw, Safe} ConfigParser en Python 3?

ACTUALIZACIÓN: En Python 3.2, SafeConfigParser ha sido renombrado a ConfigParser, y el viejo ConfigParser se ha eliminado (fuente: NEWS for Python 3.2).

Respuesta

6

En resumen, use configparser.SafeConfigParser.

Para citar the docs, SafeConfigParser "implementa una variante más acertada de la función de interpolación mágica. Esta implementación es más predecible también. Las nuevas aplicaciones deberían preferir esta versión si no necesitan ser compatibles con las versiones anteriores de Python "

Parece que el viejo ConfigParser todavía existe en Python 3 por compatibilidad con versiones anteriores: ¡no todo se volvió incompatible hacia atrás!