Чтение конфигурационного файла, который не начинается с раздела - PullRequest
0 голосов
/ 23 января 2020

У меня есть файл конфигурации, который выглядит примерно так:

#some text 
host=abc
context=/abc
user=abc
pw=abc

#some text
[dev]
host=abc
context=/abc
user=abc
pw=abc

[acc]
host=abc
context=/abc
user=abc
pw=abc

Я хотел бы проанализировать файл cfg с ConfigParser в Python 2.7. Проблема в том, что файл cfg не начинается с раздела. Я не могу удалить текстовые строки перед разделами. Есть ли обходной путь для этого?

1 Ответ

1 голос
/ 23 января 2020

Введите заголовок раздела по вашему выбору.

import ConfigParser
import StringIO


def add_header(cfg, hdr="DEFAULT"):
    s = StringIO.StringIO()
    s.write("[{}]\n".format(hdr))
    for line in cfg:
        s.write(line)
    s.seek(0)
    return s


parser = ConfigParser.ConfigParser()
with open('file.cfg') as cfg:
    parser.readfp(add_header(cfg, "foo"))
...