Accordiing la documentación ConfigParser module, archivos
de configuración pueden incluir comentarios, con el prefijo caracteres específicos (# y;). Los comentarios pueden aparecer por sí solos en una línea vacía , o pueden ingresarse en líneas con valores o nombres de sección . En el último caso, deben ir precedidos por un carácter en blanco para ser reconocido como un comentario. (Para compatibilidad hacia atrás, solamente; pone en marcha un comentario en línea, mientras que # no lo hace.)
Si desea leer el "comentario" con el valor, se puede omitir el espacio en blanco antes del carácter ;
o utilizar el #
. Pero en este caso las cadenas comment1
y comment2
se vuelven parte del valor y ya no se consideran comentarios.
Un mejor enfoque sería el uso de un nombre de propiedad diferente, como variable1_comment
, o para definir otra sección en la configuración dedicada a los comentarios:
[local]
variable1 = value1
[comments]
variable1 = comment1
La primera solución requiere que se genere una nueva clave usando otro (es decir, calcule variable1_comment
desde variable1
), el otro le permite usar la misma clave para diferentes secciones en el archivo de configuración.
A partir de Python 2.7.2, siempre es posible leer un comentario a lo largo de la línea si utiliza el carácter #
. Como dicen los documentos, es por compatibilidad con versiones anteriores.El siguiente código debería funcionar sin problemas:
config = ConfigParser.ConfigParser()
config.read('config.ini')
assert config.get('local', 'variable1') == 'value1'
assert config.get('local', 'variable2') == 'value2 # comment2'
para la config.ini
siguiente archivo:
[local]
variable1 = value1 ; comment1
variable2 = value2 # comment2
Si se adopta esta solución, recuerde que debe analizar manualmente el resultado de get()
de los valores y los comentarios.
actualizó la pregunta, se trataba de un error tipográfico, los comentarios en el archivo se está utilizando; personaje seguido de # personaje – avasal