J'ai un python ordonné dictionnaire comme,décharge YAML pour les listes Python utilise le format en ligne au lieu de hypen + espace
from collections import OrderedDict
a = OrderedDict()
a['name'] = 'hello'
a['msgs'] = ['hello', 'world']
Et je suis en train de convertir à la syntaxe YAML que,
import yaml
with open("b.yaml", 'w') as stream:
stream.write(yaml.dump(a))
imprime ,
!!python/object/apply:collections.OrderedDict
- - [name, hello]
- - msgs
- [hello, world]
Alors, je me attendais à un format YAML plus simple que,
name : hello
msgs:
- hello
- world
Comment puis-je forcer YAML à imprimer des éléments de liste avec la notation hypen + space
au lieu de JSON comme notation ?
Pourquoi PyYAML imprime-t-il un article dict ordonné comme [name, hello]
et non comme name : hello
?
merci man ... yup, maintenant j'ai fait mon python dict comme un 'OrderedDict' ... –
S'il vous plaît noter que les clés de votre fichier ne sont pas dans l'ordre prévu, ce qui peut entraîner des problèmes si ce fichier est cochée dans un système de contrôle de révision. De plus, l'indentation des séquences n'est pas celle attendue par l'OP, mais alignée avec la clé 'msgs'. – Anthon