es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Python, una forma eficiente de generar copias del mismo archivo yaml con solo un campo cambiado?

Digamos que me han entregado un archivo yaml llamado “label.yaml”

id: 1
color: red
toy: car
````

Quiero hacer 10000 copias de este archivo, con el "id" siendo el único valor que cambia y en orden incremental.

id: 1
color: red
toy: car


``` id: 2 color: red toy: car
id: 3
color: red
toy: car
````

...
Y así sucesivamente...

Algo que he intentado:

import yaml

with open(“data.yaml”) as f:
data = yaml.safe_load(f)

for i in range(1,100001):
data[“id”] = i

with open(f”data-{i}.yaml”, “w+”) as f:
yaml.dump(data, f)

“`

¿Existe una manera más eficiente de hacer esto?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una manera más eficiente de hacer esto. Puedes usar un bucle para iterar a través del rango de números y crear un nuevo archivo para cada iteración. Por ejemplo:

    for i in range(1,100001):
        with open(f"label-{i}.yaml", "w+") as f:
            f.write(f"id: {i}\ncolor: red\ntoy: car")
    

Comments are closed.