2013-04-09 16 views
6

Próbuję napisać (i później przeczytać) do zawartość słownika do ConfigParser, i uważam, że robię to poprawnie zgodnie z docs, ale nie wydaje się, aby uzyskać go do praca. Czy ktoś może pomóc?Python Write Dictionary Contents to ConfigParser

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__' 

Co szukam ma mieć słownika że mogę zaktualizować, a na koniec zapisać do pliku konfiguracyjnego tak to będzie wyglądać:

[User_Info] 
User1-gamestart = 13232323 
User3-votes = 36 
User2-votes = 36 
User1-votes = 36 
User2-gamestart = 234234234 
User3-gamestart = 13232323 
+3

Moduł ConfigParser nie jest taka sama jak ConfigParser. Ten dokument jest dla Pythona 3.4, jakiej wersji Pythona używasz? – cmd

Odpowiedz

5

czytasz dokumentacji python 3.4, ale prawdopodobnie używasz starszej wersji Pythona.

Oto jak korzystać ConfigParser w starszych wersjach Pythona:

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) 
+0

oh .. Widzę to teraz. Dziękuję Ci! –

+0

Bardzo proszę. –