あなたの防御では、ConfigParser はあなたにこの間違いをさせています:
import sys
import ConfigParser
config = ConfigParser.RawConfigParser()
config.add_section('channels')
config.set('channels', '#channel', 'true')
config.write(sys.stdout)
次の出力が生成されます。
[channels]
#channel = true
#
ただし、次のように始まるセクション名を付けることができます。
import sys
import ConfigParser
config = ConfigParser.RawConfigParser()
config.add_section('#channels')
config.set('#channels', 'channel', 'true')
config.write(sys.stdout)
with open('q15123871.cfg', 'wb') as configfile:
config.write(configfile)
config = ConfigParser.RawConfigParser()
config.read('q15123871.cfg')
print config.get('#channels', 'channel')
次の出力が生成されます。
[#channels]
channel = true
true