le dumping un dictionnaire dans un fichier YAML, tandis que le maintien de l'ordre

J'ai essayé de vider un dictionnaire dans un fichier YAML. Le problème est que le programme qui importe le fichier YAML besoins les mots-clés dans un ordre spécifique. Cet ordre est pas par ordre alphabétique.

import yaml
import os 

baseFile = 'myfile.dat'
lyml = [{'BaseFile': baseFile}]
lyml.append({'Environment':{'WaterDepth':0.,'WaveDirection':0.,'WaveGamma':0.,'WaveAlpha':0.}})

CaseName = 'OrderedDict.yml'
CaseDir = r'C:\Users\BTO\Documents\Projects\Mooring code testen'
CaseFile = os.path.join(CaseDir, CaseName)
with open(CaseFile, 'w') as f:
    yaml.dump(lyml, f, default_flow_style=False)

Ce produit a *.fichier yml qui est formaté comme ceci:

- BaseFile: myfile.dat
- Environment:
    WaterDepth: 0.0
    WaveAlpha: 0.0
    WaveDirection: 0.0
    WaveGamma: 0.0

Mais ce que je veux, c'est que l'ordre est préservé:

- BaseFile: myfile.dat
- Environment:
    WaterDepth: 0.0
    WaveDirection: 0.0
    WaveGamma: 0.0
    WaveAlpha: 0.0

Est-ce possible?

InformationsquelleAutor Ben | 2015-07-24