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
Si este artículo te ha ayudado, considera invitarme a un café o hacer una donación vía PayPal para apoyar la investigación y publicación de nuevos artículos en TechOverflow