Parser de archivos INI personalizable en Python

Recomiendo usar la librería configparser que viene con Python para parsear archivos INI. Sin embargo, si necesitas un parser altamente personalizable, este código es un buen punto de partida:

ini_parser.py
def read_ini_config(filename):
    config = {}
    current_section = None

    with open(filename, 'r', encoding="utf-8") as file:
        for line in file:
            line = line.strip()

            # Saltar líneas vacías y comentarios
            if not line or line.startswith(';') or line.startswith('#'):
                continue

            # Comprobar si es una cabecera de sección
            if line.startswith('[') and line.endswith(']'):
                current_section = line[1:-1]
                config[current_section] = {}
            else:
                # Parsear pares clave-valor
                key, value = line.split('=', 1)
                key = key.strip()
                value = value.strip()
                config[current_section][key] = value

    return config

Echa un vistazo a artículos similares por categoría: Python