要想 保持顺序不变 在 dump时添加 sort_keys=False ,使yaml格式保持原来的排序

def readyaml():
    with open("../data/testdata.yaml",encoding="utf-8") as f:
        doc = list(yaml.safe_load_all(f))
    doc[0]["body"]["username"] = "root"
    with open("../data/testdata.yaml","w",encoding="utf-8") as f:
        yaml.safe_dump_all(doc,f,sort_keys=False)

对于 列表格式问题
在 PyYAML 库中,yaml.dump() 方法的 default_flow_style 参数用于控制输出的流风格。这个参数有以下可选项:
None:根据需要选择块风格或流风格输出。
True:强制使用流风格输出。
False:强制使用块风格输出。

即添加 default_flow_style=None 即可,默认是False

其他参数还有 间隔 indent等可调节

输出时用以下的参数可以保持顺序和格式不变

with open(yaml_out, 'w') as file:
    yaml.safe_dump(yaml_data, file,default_flow_style=None,sort_keys=False, indent=2,default_style='')
from ruamel import yaml
def up_yml(ip_server):
 with open('./../docker-compose-demo.yml', encoding="utf-8") as f:
  content = yaml.load(f, Loader=yaml.RoundTripLoader)
  # 修改yml文件中的参数
  content['service']['memo_query']['server_ip'][0] = 'mysql_ho
                                    本章详细介绍了yaml文件的格式及语法内容,并给出了代码示例。另外详细介绍yaml文件的加载,介绍了load和safe_load的使用注意事项并进行单文件以及多文件加载的示例演示。最后给出了介绍了yaml文件写入的方法。
2、安装:
C:\Users\admin>pip install pyyaml
Requirement already satisfied: pyyaml in c:\python36\lib\site-packages
3、使用非常简单,就像 json 一样、load和dump就能满足基本的需求。
                                    I'm executing the following python code:import yamlfoo = {'name': 'foo','my_list': [{'foo': 'test', 'bar': 'test2'}, {'foo': 'test3', 'bar': 'test4'}],'hello': 'world'}print(yaml.dump(foo, default_flo...
# import ruamel
data = {0: {"K": [1, 2, 3, 4, 5, 6], "R": [0.2, 0.3, 0.4], "id": 99, "name": "cat"},
        1: {"K": [1, 2, 3, 4, 5, 6], "R": [0.2, 0.3, 0.4], "id": 99, "name": "cat"},
        2: {"K": [1, 2, 3, 4, 5, 6], "R": [0.2, 0.3, 0.4.
                                    数据及配置文件之争数据及文件通常有三种类型:配置文件型:如ini,conf,properties文件,适合存储简单变量和配置项,最多支持两层,不适合存储多层嵌套数据表格矩阵型:如csv,excel等,适合于存储大量同类数据,不适合存储层级结构的数据多层嵌套型:如XML,HTMl,JSON、YAML,TOML等,适合存储单条或少数多层嵌套数据,不适合存储大量数据YAML兼容JSON格式,简洁,强大,...