Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ConfigParser, чувствительность к регистрам 
V
    Опции темы
larinva
Дата 26.5.2011, 10:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



Всем привет! как я понял из док-ции ConfigParser при чтении конфиг файла не чувствителен к регистрам,  
[XXXX]
xxx = FSDxxx

как получить на выходе результат FSDxxx
заранее сп-бо!
PM MAIL   Вверх
Stolzen
Дата 26.5.2011, 11:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 1
Всего: 48



Вот так:
Код

>>> import ConfigParser
>>> Config = ConfigParser.ConfigParser()
>>> Config.read('conf.cfg')
['conf.cfg']
>>> Config.sections()
['XXXX']
>>> def ConfigSectionMap(section):
...     dict1 = {}
...     options = Config.options(section)
...     for option in options:
...         try:
...             dict1[option] = Config.get(section, option)
...             if dict1[option] == -1:
...                 print "skip: %s" % option
...         except:
...             print "exception on %s!" % option
...             dict1[option] = None
...     return dict1
... 
>>> XXXX = ConfigSectionMap("XXXX")
>>> XXXX
{'xxx': 'FSDxxx'}
>>> XXXX['xxx']
'FSDxxx'


Возвращает нормально - {'xxx': 'FSDxxx'}

Это сообщение отредактировал(а) Stolzen - 26.5.2011, 11:28


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
larinva
Дата 26.5.2011, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



сп-бо! Stolzen
вау  smile , а покороче можно? не сочтите за наглость
PM MAIL   Вверх
Stolzen
Дата 26.5.2011, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 1
Всего: 48



Вот, короче:
Код

>>> import ConfigParser
>>> Config = ConfigParser.ConfigParser()
>>> Config.read('conf.cfg')
['conf.cfg']
>>> get_sec = lambda cf, s: dict((o, cf.get(s, o)) for o in cf.options(s))
>>> get_sec(Config, 'XXXX')
{'xxx': 'FSDxxx'}


Или так:
Код

>>> opt = dict((s, get_sec(Config, s)) for s in Config.sections())
>>> opt
{'XXXX': {'xxx': 'FSDxxx'}}
>>> opt['XXXX']['xxx']
'FSDxxx'


Это сообщение отредактировал(а) Stolzen - 26.5.2011, 11:24


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
larinva
Дата 26.5.2011, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 24.7.2006

Репутация: нет
Всего: 1



с меня + тема закрыта
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0758 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.