Muszę zapisać poniższe dane do pliku yaml za pomocą Pythona:
{A:a, B:{C:c, D:d, E:e}}
tj. słownik w słowniku. Jak mogę to osiągnąć?
python
formatting
yaml
pyyaml
user1643521
źródło
źródło
Odpowiedzi:
default_flow_style=False
Parametr jest niezbędny do wytworzenia formatu chcesz (styl flow), inaczej zagnieżdżonych zbiorów produkuje styl blok:źródło
with
tutaj w przeciwieństwie do jednowierszowego?with
zapewnia prawidłowe zamknięcie pliku, gdy nie jest już potrzebnyimport yaml; from munch import munchify; f = munchify(yaml.safe_load(…));print(f.B.C)
Link do dokumentacji PyYAML pokazującej różnicę dla
default_flow_style
parametru. Aby zapisać go do pliku w trybie blokowym (często bardziej czytelnym):produkuje:
źródło
import yaml; from munch import munchify; f = munchify(yaml.safe_load(…));print(f.B.C)