Archivos de configuración: acceso desde Python

Al escribir un programa (sobre todo si estamos hablando de software libre), es importante que demos a los usuarios la libertad de configurar ciertos aspectos del mismo. En este post mostraremos cómo leer con Python los archivos de configuración de un programa. Además, asumiremos que poseen la misma estructura que los famosos archivos .ini de Windows.

Archivos de configuración

Para empezar, digamos que deseamos permitir que se ajuste la configuración de los siguientes ítems de nuestro programa. Cada sección se indica dentro de corchetes [], debajo de la cual aparecen líneas con el formato variable = valor. Por ejemplo, consideremos las siguientes líneas, las cuales guardaremos en /home/gacanepa/miprograma.conf.

[INSTALACION]
Directorio = /usr/local/bin
Permisos = 0755

[MISCELANEO]
Usuario = fulano
Documentacion = LeerElManPage
Licencia = GPL

A continuación veremos cómo utilizar Python para acceder a los valores de cada variable que se encuentran en las secciones INSTALACION y MISCELANEO.

El módulo configparser

En Python, el módulo configparser provee por suerte todas las funciones necesarias para acceder a un archivo con la estructura detallada anteriormente. Primero que nada, importaremos el módulo y a continuación inicializaremos la variable configuracion para luego pasarle la ruta completa al archivo de configuración y hacer que lo cargue. El nombre que hemos elegido para las variables ayuda para explicar el propósito de las mismas y anticipar el contenido que tendrán luego de la asignación:

import configparser

configuracion = configparser.ConfigParser()
configuracion.read('/home/gacanepa/miprograma.conf')
seccionInstalacion = configuracion['INSTALACION']
directorio = seccionInstalacion['Directorio']
seccionMiscelaneo = configuracion['MISCELANEO']
licencia = seccionMiscelaneo['Licencia']

print('Este programa se instalará en', directorio, 'bajo la licencia', licencia)

Por último, en la Fig. 1 podemos ver el resultado de la ejecución del código Python de arriba:

 Usando Python para acceder a los valores presentes en archivos de configuración
Figura 1 – Usando Python para acceder a los valores presentes en archivos de configuración

De la misma manera en que lo hicimos con Directorio y Licencia, podemos leer el resto de las variables y utilizarlas como nos parezca conveniente. En el ejemplo de arriba utilizamos la función print() para mostrar un mensaje que incluye dos de las variables para que podamos constatar que los valores correspondan a los que aparecen en el archivo de configuración.

Espero que este post les haya resultado de utilidad. ¡No se pierdan el próximo, donde continuaremos el tema!