Me plantean este ejercio y me gustaria saber si voy bien encaminado:
Diseñad e implementáis una función que, dado un nombre de fichero XML que contenga los datos de los o modelos de piezas en el formato mencionado anteriormente, lo lea y devuelva una estructura tipo "diccionario con listas" para almacenar las piezas, llenada con la información recopilada o el fichero. En caso de que la estructura del fichero XML no sea correcta tenéis que proceder de la siguiente manera:
• En caso de que lo etiqueta o lo etiqueta o que alguna de las etiquetas que conforman la información de un modelo de pieza (<peca>, </peca>, <nom>, </nom>, <mida>, </mida>, <pes> o </pes>) no aparezcan o estén mal escritas, tenéis que parar la función y, en vez de devolver la estructura, tenéis que devolver algún valor que indique la imposibilidad de leer el fichero.
Aki os pongo lo que he echo:
Código python:
Ver originalimport string
def llegir(arxiu):
obre_arxiu=open(arxiu,"r")
llista=obre_arxiu.readlines()
print llista
if llista[0]=="<peces>\n" and llista[-2]=="</peces>\n":
dicc={}
llista_peca=[]
for linia in llista:
if "<nom>" and "</nom>\n" in linia:
peca=linia[5:-7]
peca=string.strip(peca)
elif "<mida>" and "</mida>\n" in linia:
mida=linia[6:-8]
mida=string.strip(mida)
elif "<pes>" and "</pes>\n" in linia:
pes=linia[5:-7]
pes=string.strip(pes)
dicc[peca]=mida,pes
else:
pass
else:
pass
return dicc