2014-10-01 2 views
0

Я новичок в Python, и мне нужно прочитать INI-файл со списками данных:Существует ли ini-парсер, поддерживающий списки и файлы без разделов в python?

list[] = 1 
list[] = 2 
list[] = 3 

и файлы без секций. Я знаю о модуле ConfigParser, я видел огромное количество хаков, чтобы сделать это wotk с этими вещами, но я не хочу писать всю эту чушь в свой код. Я просто хочу нормальный библиотека, которая в состоянии сделать это сама.

Не могли бы вы посоветовать какой-нибудь модуль, способный работать с файлами ini, пожалуйста?

+0

Это не формат INI. – Amadan

+0

Почему вы так хотите? –

+0

@ Амадан rlly? Он используется в течение многих лет в C, javascript, PHP, Perl. В windows & linux. В первый раз я вижу, что эти вещи не поддерживаются - python, в модуле, который даже не может читать файл без секретов:/ – avasin

ответ

3

Поскольку синтаксис «INI» не имеет стандарта, большинство библиотек изобретают некоторые общие соглашения. И имхо все они плохие (особенно ConfigParser). Я предлагаю использовать JSON вместо INI-Files. Если это обмен между различными plattforms, используйте соответствующие stdlib для преобразования из «ini» в «json» и экспортируйте его в python как json.

Как явствует из комментариев Amadan в комментариях ниже, YAML может быть даже лучше, но я предложил json, потому что он поддерживается в stdlib python, где yaml (afaik) нет, по крайней мере, в 2.x.

+2

Или YAML. Это лучше для людей, очень похожих на INI в форме, более мощных, чем JSON; Единственным недостатком является то, что Python не поддерживает его и нуждается в библиотеке. – Amadan

+0

Если он будет конфигурационным файлом, JSON будет труднее прочитать. Рассмотрите возможность использования YAML вместо –

+0

@ VincentBeltman Да, просто посоветовал коллегам использовать YAML, поскольку JSON трудно поддерживать руками для них .. они счастливы. благодаря! – avasin