Commit 66c908e6 authored by Łukasz Langa's avatar Łukasz Langa

#11027: documented how to override SECTCRE

parent 469271d4
...@@ -716,6 +716,38 @@ may be overriden by subclasses or by attribute assignment. ...@@ -716,6 +716,38 @@ may be overriden by subclasses or by attribute assignment.
>>> list(custom['Section2'].keys()) >>> list(custom['Section2'].keys())
['AnotherKey'] ['AnotherKey']
.. attribute:: SECTCRE
A compiled regular expression used to parse section headers. The default
matches ``[section]`` to the name ``"section"``. Whitespace is considered part
of the section name, thus ``[ larch ]`` will be read as a section of name
``" larch "``. Override this attribute if that's unsuitable. For example:
.. doctest::
>>> config = """
... [Section 1]
... option = value
...
... [ Section 2 ]
... another = val
... """
>>> typical = ConfigParser()
>>> typical.read_string(config)
>>> typical.sections()
['Section 1', ' Section 2 ']
>>> custom = ConfigParser()
>>> custom.SECTCRE = re.compile(r"\[ *(?P<header>[^]]+?) *\]")
>>> custom.read_string(config)
>>> custom.sections()
['Section 1', 'Section 2']
.. note::
While ConfigParser objects also use an ``OPTCRE`` attribute for recognizing
option lines, it's not recommended to override it because that would
interfere with constructor options *allow_no_value* and *delimiters*.
Legacy API Examples Legacy API Examples
------------------- -------------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment