Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 11, 2009 20:07:08

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Config parser

Как получить параметры конфига и их значения в словарь(параметр:значение)?
На данный момент чтобы получить параметр и его значение я делаю так:
con = config.get(“main”,“con”)
Т.к параметров много это выглядит не очень красиво,в доках ничего про словарь не нашёл.



Офлайн

#2 Окт. 11, 2009 20:32:43

knkd
От:
Зарегистрирован: 2009-06-14
Сообщения: 225
Репутация: +  0  -
Профиль   Отправить e-mail  

Config parser

как-то так:

from UserDict import UserDict

class configs(UserDict):

def __init__(self, iniFile='config.ini'):
self.data = self._load_(iniFile)

def _load_(self, iniFile='config.ini', raw=False, vars=None):
"""Convert an INI file to a dictionary"""
import ConfigParser
config = ConfigParser.ConfigParser()
config.read(iniFile)
result = {}
for section in config.sections():
if section not in result:
result[section] = {}
for option in config.options(section):
value = config.get(section, option, raw, vars)
result[section][option] = value
return result

def dump(self, iniFile='config.ini'):
"""Convert an dictionary to a INI file"""
import ConfigParser
config = ConfigParser.ConfigParser()
config_dict = self.data
for section, values in config_dict.items():
config.add_section(section)
for var_name, var_value in values.items():
config.set(section, var_name, var_value)
config.write(open(iniFile, 'w'))
[first]
aa = 1
ba = 2
[second]
ab = 3
bb = 4
>>>conf=ConPars2Dict2.configs('sample.ini')
>>>print conf
<<<{'second': {'ab': '3', 'bb': '4'}, 'first': {'aa': '1', 'ba': '2'}}



Отредактировано (Окт. 11, 2009 20:37:41)

Офлайн

#3 Окт. 11, 2009 22:44:37

jartasa
От:
Зарегистрирован: 2009-09-20
Сообщения: 78
Репутация: +  0  -
Профиль   Отправить e-mail  

Config parser

спасибо!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version