[New-bugs-announce] [issue23301] ConfigParser does not handle square brackets in section name

Sebastian Bank report at bugs.python.org
Thu Jan 22 16:58:05 CET 2015


New submission from Sebastian Bank:

ConfigParser parses section lines containing square brackets like '[spam [eggs] spam]' up to the first instead of the last occurrence of ']' preventing roundtrips:

>>> s = StringIO()
>>> c1 = ConfigParser()
>>> c1.add_section('spam [eggs]')
>>> c1.write(s)
>>> s.seek(0)
>>> c2 = ConfigParser()
>>> c2.readfp(s)
>>> assert c1.sections() == c2.sections()  # fails

Potential fix: change the second line of SECTCRE from r'(?P<header>[^]]+)' to r'(?P<header>.+?)'.

If the parsing behaviour cannot be changed, the user should at least be warned about supplying data that breaks the roundtrip.

----------
components: Library (Lib)
messages: 234497
nosy: xflr6
priority: normal
severity: normal
status: open
title: ConfigParser does not handle square brackets in section name
type: behavior
versions: Python 2.7, Python 3.4

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue23301>
_______________________________________


More information about the New-bugs-announce mailing list