Python - Cambiar lineas en un archivo de texto, probando diferentes combinaciones

   
Vista:

Cambiar lineas en un archivo de texto, probando diferentes combinaciones

Publicado por skan (1 intervención) el 27/10/2015 13:31:12
Buenas

Tengo un archivo xml con mogollón de datos. Básicamente etiquetas y variables junto a su valor.
Ese archivo es usado por un programa externo, que realiza unos cálculos y guarda los resultados...

Quisiera cambiar en ese xml algunos datos (valores), que ocupan siempre la misma posición, probando diferentes valores.
Para ello necesito hacer un script y crear un archivo semilla que define el rango de valores a usar.


El archivo semilla1 podría tener una estructura así: y será usado por el script para generar cada xml.

1
2
3
4
nombre	valorini	valorfin	npasos	linea	posicionini	posicionfin
var1	3.2		5.2		3	7		9		12
var2	1.1		5.1		7	54		11		17
var3...


Eso querría decir que por ejemplo el script cogerá lo que hay en la linea 7 (del xml) desde la posición 9 a la 12 y lo sustituirá por un valor entre el valor 3.2 y 5.2 generado aleatoriamente,
Lo hemos llamado var1, esos nombres sólo se usa para que el usuario sepa lo que es cada linea.
(Yo ya habría comprobado lo que hay en cada linea y posición previamente).
Hará las demás sustituciones, definidas en cada linea.
de var1 habrá generado 3 posibles valores, de var2 7.
Guardará el nuevo xml sobreescribiendo el anterior y ejecturará un programa externo (que usa ese xml).


Algunas variables deben ser sustituidas simultáneamente en varias posiciones del xml, con el mismo valor. No sé si es mejor escribirlas en el semilla en varias lineas o en una misma especificar todos los cambios.

¿Alguien me puede decir cómo hacerlo, por ejemplo con python?


Aunque no me contestéis a toda la pregunta, sólo a un cacho sería de gran ayuda.
No he usado python ni nada parecido en mi vida.

Otras alternativas o consejos también son bienvenidos.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder