Necesito escribir los siguientes datos en el archivo yaml usando Python:
{A:a, B:{C:c, D:d, E:e}}
es decir, diccionario en un diccionario. ¿Cómo puedo conseguir esto?
python
formatting
yaml
pyyaml
usuario1643521
fuente
fuente
Respuestas:
El
default_flow_style=False
parámetro es necesario para producir el formato que desea (estilo de flujo); de lo contrario, para las colecciones anidadas produce un estilo de bloque:fuente
with
aquí en lugar de una línea?with
garantiza que el archivo está bien cerrada cuando ya no se necesitaimport yaml; from munch import munchify; f = munchify(yaml.safe_load(…));print(f.B.C)
Enlace a la documentación de PyYAML que muestra la diferencia para el
default_flow_style
parámetro. Para escribirlo en un archivo en modo bloque (a menudo más legible):produce:
fuente
import yaml; from munch import munchify; f = munchify(yaml.safe_load(…));print(f.B.C)