parsear ficheros de configuracion
NeCuDeCo
necudeco en gmail.com
Mie Mayo 10 18:46:59 CEST 2006
Definitivamente expresiones regulares
import re
result = re.search("(seccion[.]*EndSection)")
print resoult.group(1)
eso te deberia devolver todo el bloque section, y una vez ahi le pasas otra
vez expresiones regulares para obtener cada uno de los valores.
PD: sino devuelve todo elb loque, podria ser x la definicion del .
En algunos sitios el . vale por culquier caracter, inlcuyendo el
cambio de linea. Sino fuera asi entonces no te devolvera nada
On 5/10/06, aNgel rEsendiz g. <sonajadiabolica en gmail.com> wrote:
>
> Puedes usar expresiones regulares, o comparar cadenas. En el ejemplo
> que pones puedes resolverlo algo así, para esto estoy pensando que el
> resto del archivo puede variar, y por ello no puedes sustituir el
> archivo completo.
> ##############################
>
> seccion_device=''' Section "Device"
> Identifer "tu video card"
> Driver "vesa"
> etc "mas datos"
> EndSection
> '''
>
> fichero=open('/path/to/xorg.conf','r')
> contenido=fichero.readlines()
> fichero.close()
> nuevo_contenido=''
> inicia_seccion=False
> for linea in contenido:
> if linea=='Section "Device"\n':
> inicia_seccion=True
> if not inicia_seccion:
> nuevo_contenido+=linea
> else:
> if linea=="EndSection\n":
> nuevo_contenido+=seccion_device
> inicia_seccion=False
> fichero=open('/path/to/xorg.conf','w')
> fichero.write(nuevo_contenido)
> fichero.close()
>
> #####################################
>
> Si son muchas operaciones puede ser algo engorroso, espero que alguien
> tenga una mejor solución
>
> On 5/10/06, diego <diglos en mundo-r.com> wrote:
> > Hola a todos:
> >
> > Hace poco que me suscribí a la lista y estoy gratamente impresionado,
> > tanto por la actividad como por la buena disposición de la gente.
> >
> > Estoy adaptando un poco easyubuntu a linex2006 y me gustaría modificar
> > también ficheros de configuración (por ejemplo bloques de xorg.conf,
> > como cambiar el contenido desde Section "Device" hasta EndSection y
> > operaciones similares).
> >
> > Un saludo y gracias por anticipado
> >
> > Diego
> >
> >
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en aditel.org
> > http://listas.aditel.org/listinfo/python-es
> >
> >
> >
>
>
> --
> aNgel rEsendiz.!
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
--
--------------------------
NeCuDeCo
http://necudeco.blogsome.com
Your Jugdment Day is NOW
Más información sobre la lista de distribución Python-es