Уведомления

Группа в Telegram: @pythonsu

#1 Июль 29, 2009 18:18:14

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

ConfigParser

как научить конфиг парсер получать массивы

т.е

config.ini

last = localhost
last = nonlocalhost
config = ConfigParser.ConfigParser()
config.read('config.ini')

print(config.get('connect', 'last'))
выведет nonlocalhost, а хотелось бы что-то типо



Офлайн

#2 Июль 29, 2009 18:22:51

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

ConfigParser

Проще всего - использовать cfgparse

Офлайн

#3 Июль 29, 2009 19:37:27

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

ConfigParser

а можно пример кода?



Офлайн

#4 Июль 29, 2009 19:41:54

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

ConfigParser

Пройди по ссылке. Там документация есть.



Офлайн

#5 Июль 29, 2009 19:55:11

bazooka
От:
Зарегистрирован: 2009-04-12
Сообщения: 165
Репутация: +  0  -
Профиль   Отправить e-mail  

ConfigParser

документацию я вижу, но на странице с типами( http://cfgparse.sourceforge.net/cfgparse-option-type.html ) нет типа под мою задачу



Офлайн

#6 Июль 30, 2009 01:02:38

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

ConfigParser

cfgparse не знаю, не видел, но я в качестве конфига юзаю либо QSettings (ясно, что не подойдёт), либо yaml. Последний работает с большинством типов данных и приводит их во вполне читаемый вид.
Хотя я и согласен, использовать его там, где подразумевается правка конфига юзером, не стоит.



Офлайн

#7 Июль 30, 2009 05:38:14

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

ConfigParser

ZZZ
Хотя я и согласен, использовать его там, где подразумевается правка конфига юзером, не стоит.
Да ладно, вполне себе удобно ;) вон куча проектов конфиги в xml держат и то терпят



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#8 Июль 30, 2009 09:59:15

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2740
Репутация: +  183  -
Профиль   Отправить e-mail  

ConfigParser

Всё довольно просто сначала преобразуешь список в строку, в качестве разделителя используя служебные символы, затем записываешь строку как параметр, а потом получаешь строку из конфига и преобразуешь её обратно в список.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#9 Июль 30, 2009 19:19:10

ZZZ
От: Москва
Зарегистрирован: 2008-04-03
Сообщения: 2161
Репутация: +  26  -
Профиль   Адрес электронной почты  

ConfigParser

PooH
Да ладно, вполне себе удобно вон куча проектов конфиги в xml держат и то терпят
XML все знают, а вот правила YAML пока сравнительно новые.

Rodegast
Всё довольно просто сначала преобразуешь список в строку, в качестве разделителя используя служебные символы, затем записываешь строку как параметр, а потом получаешь строку из конфига и преобразуешь её обратно в список.
Для чисел да… В вот для списка строк, строки ещё эскейпить надо.



Офлайн

#10 Июль 31, 2009 16:35:49

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2740
Репутация: +  183  -
Профиль   Отправить e-mail  

ConfigParser

Эскейпить не обязательно. Просто надо выбирать в качестве разделителя символы (их может быть несколько) которые точно не будут входить в состав строк.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version