20

Am surprised there's 3 different forms: RawConfigParser, SafeConfigParser and ConfigParser (docs). I read the differences but why isn't everyone using SafeConfigParser, since it seems, well, safe? I can understand that in the case for Python 2 that the other two were kept for backward compatibility.

UPDATE: In Python 3.2, SafeConfigParser has been renamed to ConfigParser, and the old ConfigParser has been removed (source: NEWS for Python 3.2).

tshepang
  • 12,111
  • 21
  • 91
  • 136

1 Answers1

13

In short, use configparser.SafeConfigParser.

To quote the docs, SafeConfigParser "implements a more-sane variant of the magical interpolation feature. This implementation is more predictable as well. New applications should prefer this version if they don’t need to be compatible with older versions of Python."

It seems that the old ConfigParser still exists in Python 3 for backwards compatibility: not everything was made backward-incompatible!

Robert Longson
  • 118,664
  • 26
  • 252
  • 242
blokeley
  • 6,726
  • 9
  • 53
  • 75
  • 1
    I have a python3 code which is using ```SafeConfigparser```. Is it safe to replace that with ```Configparser``` directly in python3 ? – Simplecode Oct 08 '21 at 06:30