Here is repro demonstrating the issue:
import configobj
if __name__ == "__main__":
config = configobj.ConfigObj(
"config.ini",
encoding='utf-8',
list_values=False,
)
print('loaded', config)
if 'foo' not in config:
config['foo'] = {}
config['foo']['bar'] = 'hello # world'
print('before write:', config)
config.write()
config.reload()
print('after reload:', config)
Produces output:
loaded {}
before write: {'foo': {'bar': 'hello # world'}}
after reload: {'foo': {'bar': 'hello'}}
Config written:
[foo]
bar = hello # world
Related: #269.