Python запись содержимого словаря в ConfigParser


Я пытаюсь записать (а затем прочитать в) содержимое словаря в ConfigParser, и я считаю , что делаю это правильно в соответствии с docs, но не могу заставить его работать. Может кто-нибудь помочь?

import ConfigParser
parser = ConfigParser.ConfigParser()

parser['User_Info'] = {"User1-votes":"36","User1-gamestart":"13232323","User2-votes":"36","User2-gamestart":"234234234","User3-votes":"36","User3-gamestart":"13232323"}

Traceback (most recent call last):   File "<stdin>", line 1, in
<module> AttributeError: ConfigParser instance has no attribute '__setitem__'

То, что я ищу, - это словарь, который я могу обновить, и в конце написать в конфигурационный файл, чтобы он выглядел следующим образом:

[User_Info]
User1-gamestart = 13232323
User3-votes = 36
User2-votes = 36
User1-votes = 36
User2-gamestart = 234234234
User3-gamestart = 13232323
1 6

1 ответ:

Вы читаете документацию по python 3.4, но, вероятно, используете более старую версию python.

Вот как использовать ConfigParser в старых версиях python:

import ConfigParser
parser = ConfigParser.ConfigParser()

info = {"User1-votes":"36","User1-gamestart":"13232323","User2-votes":"36","User2-gamestart":"234234234","User3-votes":"36","User3-gamestart":"13232323"}

parser.add_section('User-Info')
for key in info.keys():
    parser.set('User-Info', key, info[key])

with open('config.ini', 'w') as f:
    parser.write(f)