saludos a todos, soy nuevo en la lista y en el mundo de python, entre en el por interes propio, debido a la referencia q tengo de la robustez del lenguaje de programacion, y tengo una tarea ahora con un archivo que necesito parsear y es el primer proposito que me he autoindicado para hacer con python.

resulta que es un archivo con un estructura determinada, y ya se como leer el archivo linea por linea, pero se me trabo el paragua al querer sacar una cadena que esta entre dos corchetes, pongo detalles

la estructura del archivo es esta
[cadena1]
attr1 = value1
attr2 = value2
attr3 = value3
attr4 = value4
attr5 = value5

[cadena2]
attr1 = value1
attr2 = value2
attr3 = value3
attr4 = value4
attr5 = value5

y ya logre hacer esto, que me gusta como funciona!

lineas = []

fichero = open("file.data", "r")

for linea in fichero.readlines():
        if not linea:
                break
        if linea[0] == '[':
                lineas.append(linea)
print lineas
fichero.close()


y esto me devuelve
[cadena1], [cadena2]

lo que me interesa guardar en lineas es solo la cadena dentro de los corchetes, pero he hecho mil pruebas y ninguna satisfactoria :( ; me parece que es por ser unos corchetes, como son caracteres q usan las expresiones regulares, el que mejor resultado me dio fue con sub.

re.sub('\[','',linea)
re.sub('\]','',linea)

pero me gustaria hacer esto q logro con dos lineas, hacerlo en una, o mejor, solo extraer el texto que esta dentro de los corchetes, esto me da como resultado que elimina los corchetes, pero es q no es eso lo q me interesa.

espero haber sido explicito

gracias de antemano
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a