[DEFAULT]
account = esr
[python]
directory = /home/esr/cvs/python/
developer = 1
[sng]
directory = /home/esr/WWW/sng/
numeric_id = 1012
developer = 1
[fetchmail]
numeric_id = 18364
[py-howto]
account = eric
directory = /home/esr/cvs/py-howto/
developer = 1
Такой стиль формата файлов данных не характерен для операционной системы Unix, однако некоторые Linux-программы (особенно Samba, пакет средств доступа к Windows-файлам из Linux) под влиянием Windows поддерживают его. Данный формат является четким и неплохо спроектированным, однако, как и в случае XML,
.INI-формат целесообразно использовать, если данные естественным образом соответствуют его двухуровневой организации пар "имя-атрибут", собранных в группы в именованных записях или секциях. Он плохо подходит для данных с полностью рекурсивной древовидной структурой (для этого лучше подходит XML), и является избыточным для простого списка связей "имя-значение" (в этом случае лучше использовать DSV).
5.2.7. Unix-соглашения по текстовым файловым форматам
Существуют давние традиции Unix, определяющие вид текстовых форматов данных. Большинство из них происходит от одного или нескольких описанных выше стандартных метаформатов Unix. Разумно следовать данным соглашениям, если нет весомых и специфических причин поступать иначе.
В главе 10 рассматривается другой набор соглашений, применяемых для файлов конфигурации программ, однако, следует заметить, что в нем используются некоторые из описанных выше правил (особенно касающиеся лексического уровня, т.е. правила, согласно которым символы собираются в лексемы).
•
•
•
• \n
для разделителя строк, \r
для возврата каретки, \t
для табуляции, \b
для возврата на один символ назад, \f
для разделителя страниц, \е
для ASCII-символа escape (27), \nnn
или \onnn
, или \0nnn
для символа с восьмеричным значением nnn
, \xnn
для символа с шестнадцатеричным значением nn
, \dnnn
для символа с десятичным значением nnn
, \\
для буквального использования обратной косой черты. В более новом, но заслуживающем внимания соглашении последовательность \unnnn
используется для шестнадцатеричного Unicod-литерала.
•