小编Ben*_*Ben的帖子

在保留顺序的同时将字典转储到YAML文件

我一直在尝试将字典转储到YAML文件中.问题是导入YAML文件的程序需要按特定顺序的关键字.此订单不是按字母顺序排列的.

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)
Run Code Online (Sandbox Code Playgroud)

这会生成一个*.yml文件,其格式如下:

- BaseFile: myfile.dat
- Environment:
    WaterDepth: 0.0
    WaveAlpha: 0.0
    WaveDirection: 0.0
    WaveGamma: 0.0
Run Code Online (Sandbox Code Playgroud)

但我想要的是订单保留:

- BaseFile: myfile.dat
- Environment:
    WaterDepth: 0.0
    WaveDirection: 0.0
    WaveGamma: 0.0
    WaveAlpha: 0.0
Run Code Online (Sandbox Code Playgroud)

这可能吗?

dictionary yaml python-3.x

8
推荐指数
3
解决办法
1万
查看次数

标签 统计

dictionary ×1

python-3.x ×1

yaml ×1