Найти - Пользователи
Полная версия: ConfigParser
Начало » Python для новичков » ConfigParser
1
bazooka
как научить конфиг парсер получать массивы

т.е
config.ini

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

print(config.get('connect', 'last'))
выведет nonlocalhost, а хотелось бы что-то типо
Ferroman
Проще всего - использовать cfgparse
bazooka
а можно пример кода?
Griffon
Пройди по ссылке. Там документация есть.
bazooka
документацию я вижу, но на странице с типами( http://cfgparse.sourceforge.net/cfgparse-option-type.html ) нет типа под мою задачу
ZZZ
cfgparse не знаю, не видел, но я в качестве конфига юзаю либо QSettings (ясно, что не подойдёт), либо yaml. Последний работает с большинством типов данных и приводит их во вполне читаемый вид.
Хотя я и согласен, использовать его там, где подразумевается правка конфига юзером, не стоит.
PooH
ZZZ
Хотя я и согласен, использовать его там, где подразумевается правка конфига юзером, не стоит.
Да ладно, вполне себе удобно ;) вон куча проектов конфиги в xml держат и то терпят
Rodegast
Всё довольно просто сначала преобразуешь список в строку, в качестве разделителя используя служебные символы, затем записываешь строку как параметр, а потом получаешь строку из конфига и преобразуешь её обратно в список.
ZZZ
PooH
Да ладно, вполне себе удобно вон куча проектов конфиги в xml держат и то терпят
XML все знают, а вот правила YAML пока сравнительно новые.

Rodegast
Всё довольно просто сначала преобразуешь список в строку, в качестве разделителя используя служебные символы, затем записываешь строку как параметр, а потом получаешь строку из конфига и преобразуешь её обратно в список.
Для чисел да… В вот для списка строк, строки ещё эскейпить надо.
Rodegast
Эскейпить не обязательно. Просто надо выбирать в качестве разделителя символы (их может быть несколько) которые точно не будут входить в состав строк.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB