Python-yaml文件处理

一、什么是yaml文件

YAML是一种灵活的数据格式,支持注释、换行符、多行字符串、裸字符等,在自动化过程中,我们很多地方都需要使用配置文件来储存数据,比如测试环境,数据库信息、账号信息、日志格式、日志报告名称等。其中,yaml文件是最常用的配置文件类型之一,相比较ini,conf配置文件来说,它更加简洁,操作更加简单,同时还可以存放下不同类型的数据。

 

二、后缀名:.yaml     /   .yml

三、yaml支持哪些数据类型

  • 对象
  • 数组
  • 纯量  字符串  数值   bool

四、yaml编写格式语法规则

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进用空格,相同的层级元素左对齐即可
  • #表示注释

例:

hello world
username: admin
passwd: admin123
- 1
- 2
- 3
- 4
- sucessLogin:
    username: admin
    passwd: admin123
- errorLogin:
    username: 123
    passwd: admin123

五、yaml文件读取 :yaml.load -->反序列化,从文件流转化为python对象

#安装第三方库:PyYAML

import yaml


with open('yaml1.yaml','r',encoding='utf-8') as file:
    #data = yaml.load(stream=file,Loader=None)  Loader为None时会被认为是不安全的
    data = yaml.load(stream=file,Loader=yaml.FullLoader)
print(data)

#执行结果:
#helloworld

#{'username': 'admin', 'passwd': 'admin123'}

#[1, 2, 3, 4]

#[{'sucessLogin': {'username': 'admin', 'passwd': 'admin123'}}, {'errorLogin': {'username': 123, 'passwd': 'admin123'}}]

六、yaml写入数据: yaml.dump -->序列化:python对象转换为数据文件进行存储及传输

dump_data =['中文','python','requests','pytest']

with open('yaml1.yaml','w+') as file:
    yaml.dump(data=dump_data, stream=file, allow_unicode=True, encoding='utf-8')


#执行结果:
'''
- 中文
- python
- requests
- pytest
'''

 

上一篇:sed编辑器工作流程及使用方法


下一篇:快速复现利用Log4j漏洞启动windows计算器