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=Falsepará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
withaquí en lugar de una línea?withgarantiza 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_stylepará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)