Closed
Description
Bug report
Bug description:
The configparser modules throws an Exception as:
Traceback (most recent call last):
File "test.py", line 4, in <module>
config.get("dummy", "b")
File "python3.12/configparser.py", line 777, in get
return self._interpolation.before_get(self, section, option, value,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "python3.12/configparser.py", line 428, in before_get
self._interpolate_some(parser, option, L, value, section, defaults, 1)
File "python3.12/configparser.py", line 481, in _interpolate_some
if "$" in v:
^^^^^^^^
TypeError: argument of type 'NoneType' is not iterable
when using:
config.ini
[dummy]
a
b = ${a}
and following ConfigParser settings:
test.py
import configparser
config = configparser.ConfigParser(interpolation=configparser.ExtendedInterpolation(), allow_no_value=True)
config.read("config.ini")
config.get("dummy", "b")
Since the value of a is None the interpolation should convert the reference first to an empty string to keep interpolation alive.
Expected value for b would be an empty string.
CPython versions tested on:
3.12, 3.13
Operating systems tested on:
Linux, Windows