【Python】使用Python读取YAML、CSV文件中的内容

一、YAML文件

1、YAML文件简介

在Web UI自动化测试,可以将用到的配置信息保存在YAML格式的文件中,YAML语言用空白符号表示索引,适合用来表达配置文件。
YAML文件的基本语法规则如下:

  • 大小写敏感。
  • 使用缩进表示层级关系。
  • 缩进不允许使用Tab键,只允许使用空格键。
  • 所进的空格数不重要,只要相同层级的元素左对齐即可。
  • ”#“表示注释。

YAML文件支持多种数据类型。

注意:

  • 通过yaml.load来处理YAML文件的内容。
  • 加默认参数Loader=yaml.FullLoader,通过默认加载器FullLoader禁止执行任意函数。

2、Python处理YAML文件

首先创建一个名为”my_yaml_1.yml"的文件,内容如下:

websites:
  url: "http://localhost:81/redmine/"
  ip: "127.0.0.1"
#冒号前没有空格,冒号后一个空格

然后编写脚本来读取该文件:

import yaml

with open('my_yaml_1.yml','r',encoding='utf8') as f:
    data = yaml.load(f,Loader=yaml.FullLoader)
    print(data)
    print(data['websites']['url'])
    print(data['websites']['ip'])

运行结果如下:
在这里插入图片描述

在Web UI自动化测试中,可以将系统用到的配置信息以复合结构保存到一个特定文件中,因此,封装一个函数来读取YAML文件的信息,脚本如下:

import yaml

def parse_yml(file,section,key):
    with open(file,'r',encoding='utf8') as f:
        data = yaml.load(f,Loader=yaml.FullLoader)
        return data[section][key]

if __name__ == '__main__':
    value = parse_yml('my_yaml_1.yml','websites','url')
    print(value)

运行结果如下:
在这里插入图片描述

二、CSV文件

1、CSV文件简介

自动化测试中,可以将相对复杂的测试数据放置到表格中,如excel或CSV文件中。
CSV文件可以使用写字板来打开,是一种用逗号分隔的数据文件。
借助代码来读取文件的步骤如下:

  • 导入CSV模块。
  • 借助csv.reader来处理数据。

2、Python处理YAML文件

首先创建一个名为”my_yaml_1.yml"的文件,内容如下:

name,password,status
admin,error,0
admin,root,1

然后编写脚本来读取该文件:

import csv

with open('my_csv.csv','r',encoding='utf8') as f:
    data = csv.reader(f)
    print(data)
    for i in data:
        print(i)

运行结果如下:
在这里插入图片描述
在自动化测试中,需要将CSV文件中的数据返回为一个嵌套列表,这样可将数据作为测试的参数来用,示例代码如下:

import csv

def parse_csv(file):
    mylist = []
    with open(file,'r',encoding='utf8') as f:
        data = csv.reader(f)
        for i in data:
            mylist.append(i)
        del mylist[0] #删掉标题行的数据
        return mylist

if __name__ == '__main__':
    data = parse_csv('my_csv.csv')
    print(data)

运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/jylsrnzb/article/details/131463943