13.2. ConfigParser — Configuration file parser¶
Note
The ConfigParser module has been renamed to configparser in
Python 3.0. The 2to3 tool will automatically adapt imports when
converting your sources to 3.0.
This module defines the class ConfigParser. The ConfigParser
class implements a basic configuration file parser language which provides a
structure similar to what you would find on Microsoft Windows INI files. You
can use this to write Python programs which can be customized by end users
easily.
Note
This library does not interpret or write the value-type prefixes used in the Windows Registry extended version of INI syntax.
The configuration file consists of sections, led by a [section] header and
followed by name: value entries, with continuations in the style of
RFC 822 (see section 3.1.1, “LONG HEADER FIELDS”); name=value is also
accepted. Note that leading whitespace is removed from values. The optional
values can contain format strings which refer to other values in the same
section, or values in a special DEFAULT section. Additional defaults can be
provided on initialization and retrieval. Lines beginning with '#' or
';' are ignored and may be used to provide comments.
Configuration files may include comments, prefixed by specific characters (#
and ;). Comments may appear on their own in an otherwise empty line, or may
be entered in lines holding values or spection names. In the latter case, they
need to be preceded by a whitespace character to be recognized as a comment.
(For backwards compatibility, only ; starts an inline comment, while #
does not.)
On top of the core functionality, SafeConfigParser supports
interpolation. This means values can contain format strings which refer to
other values in the same section, or values in a special DEFAULT section.
Additional defaults can be provided on initialization.
For example:
[My Section]
foodir: %(dir)s/whatever
dir=frob
long: this value continues
in the next line
would resolve the %(dir)s to the value of dir (frob in this case).
All reference expansions are done on demand.
Default values can be specified by passing them into the ConfigParser
constructor as a dictionary. Additional defaults may be passed into the
get() method which will override all others.
Sections are normally stored in a built-in dictionary. An alternative dictionary
type can be passed to the ConfigParser constructor. For example, if a
dictionary type is passed that sorts its keys, the sections will be sorted on
write-back, as will be the keys within each section.
-
class
ConfigParser.RawConfigParser([defaults[, dict_type]])¶ The basic configuration object. When defaults is given, it is initialized into the dictionary of intrinsic defaults. When dict_type is given, it will be used to create the dictionary objects for the list of sections, for the options within a section, and for the default values. This class does not support the magical interpolation behavior.
New in version 2.3:
New in version 2.3.
Changed in version 2.6:
Changed in version 2.6: dict_type was added.