python解析yaml文件

1. PyYaml库安装

PyYAML为python解析yaml的库.
安装:pip3 install -U PyYAML

2. python对yaml文件的操作

2.1 读取yaml文件

使用的方法:

  • yaml.load(stream, Loader=Loader)
    • stream 是等待读取的文件对象

准备yanl文件

Search_Data:
      search_test_001:
        value: 456
        expect: [4,5,6]
      search_test_002:
        value: "你好"
        expect: {"value":"你好"}

python代码

import yaml

with open("./search_page.yaml", "r") as f:
  data = yaml.load(f)
  print(data)

# 执行结果
{'Search_Data': {
          'search_test_002': {'expect': {'value': '你好'}, 'value': '你好'}, 
          'search_test_001': {'expect': [4, 5, 6], 'value': 456}
			}
}
2.2 写入文件内容

使用的方法:

  • yaml.dump(data, stream, **kwds)
    • Data: 等待写入的数据,类型为字典
    • stream: 打开文件对象
    • encodig: utf-8, 设置写入的编码格式
    • allow_unicode: True/False

准备数据:

{'Search_Data': {
          'search_test_002': {'expect': {'value': '你好'}, 'value': '你好'}, 
          'search_test_001': {'expect': [4, 5, 6], 'value': 456}
			}
}

python代码

import yaml

data = {'Search_Data': {
          'search_test_002': {'expect': {'value': '你好'}, 'value': '你好'},
          'search_test_001': {'expect': [4, 5, 6], 'value': 456}
			}
}

# 要设置编码格式,否则会出现中文乱码
with open('./yaml_hello.yaml', 'w', encoding='utf-8',allow_unicode=True) as f:
    yaml.dump(data, f)

执行结果:

Search_Data:
  search_test_001:
    expect:
    - 4
    - 5
    - 6
    value: 456
  search_test_002:
    expect:
      value: 你好
    value: 你好  # 设置编码后不出现乱码

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值