python yaml 常用操作

在进行接口自动化测试时或python项目配置时,经常会用到yaml文件来配置数据信息,以下是用python操作yaml文件的常用操作。

首先,yaml并非是python自带的模块,需要自行进行安装,安装方式可以为:

pip install pyyaml

1yaml 文件规则:

 

区分大小写 使用缩进表示层级关系 文件中的字符串不需要使用引号标注 注释标识为:# 号,只允许单行注释

 

2、yaml 文件数据结构:

 

对象:键值对的集合(字典形式)
键值对用冒号”:” 间隔,冒号之间需要用空格分隔
如:
phone: 151xxxxxxxx
addr: xx路xx号
得到结果:
{“phone”:”151xxxxxxxx”,”addr”:”xx路xx号”}

数组:列表的形式
数组前需要有短横杠”-”符号,符号与值之间需要用空格分隔
如:
- value1
- value2
得到结果:
[“value1”,”value2”]

None值可用null 或 ~ 符号表示

 

python 读取yaml文件

1、导入yaml模块(import yaml

2、txt的文档流形式读取yaml文件

3、将读取的yaml文件内容格式转化

 

import yaml

class
CallYaml(object): """ 调用yaml 方法,操作yaml文件 """ def read_yaml(self,yaml_file): """ 读取yaml文件 @file 文件路径 """ with open(yaml_file,"r",encoding="utf-8") as file: file_data = file.read() file.close()
       #将读取到的数据进行格式化 yaml_data
= yaml.full_load(file_data) return yaml_data

 

#个人订单person_order.yaml
- name: jctang phone: 15118814488 order: orderID: gid0010012 orderID: gid0012032 - name: jctang1 phone: 15118814488 order: orderID: gid0010159 orderID: gid0012068

得到结果为:

[{'name': 'jctang', 'phone': 15118814488, 'order': {'orderID': 'gid0012032'}}, {'name': 'jctang1', 'phone': 15118814488, 'order': {'orderID': 'gid0012068'}}]

 

 

python 写入yaml文件

 


import yaml
class CallYaml(object):
    """
    调用yaml 方法,操作yaml文件
    """

    def write_yaml(self,file_name,content):
        """
        写入yaml文件
        @file_name 存放的文件路径
        """
        with open(file_name,"w",encoding="utf8") as file:
            yaml.dump(data=content,stream=file,allow_unicode=True)
            file.close()
            return True

 

posted @ 2022-10-26 14:55  西夏一品唐  阅读(1196)  评论(0编辑  收藏  举报