1、INI文件
新建config.ini文件 内容如下
;项目路径 [path] log_path=D:\zddStudy\pycharmProjects\Code report_path=D:\zddStudy\pycharmProjects\Code\report [database] username=xingyao passwd=123456
1、读取INI文件
新建ini_action.py文件用来读取config.ini中的内容
import configparser
config = configparser.ConfigParser()
config.read("config.ini", encoding="utf-8")
# 获取ini文件中所有的节点
sections = config.sections()
# 获取ini文件中某个节点下所有选项
database_options = config.options(section="database")
# 获取ini文件某个节点下某个选项的选项值
value = config.get(section="database", option="username")
# 获取某个节点下的所有选项及选项值
values = config.items(section="database")
print("ini文件中所有的节点", sections)
print("ini文件中database节点下所有选项", database_options)
print("ini文件database节点下username的选项值", value)
print("ini文件database节点下的所有选项及选项值", values)
执行后结果是:
ini文件中所有的节点 ['path', 'database']
ini文件中database节点下所有选项 ['username', 'passwd']
ini文件database节点下username的选项值 xingyao
ini文件database节点下的所有选项及选项值 [('username', 'xingyao'), ('passwd', '123456')]
2、编辑INI文件(写入或者修改)
1、写入一个节点和选项
section = "userinfo1"
if section not in sections:
# 写入一个节点 userinfo
config.add_section(section)
# 给某个节点添加选项和选项值
config.set(section=section, option="username", value="hefan")
config.set(section=section, option="passwd", value="hefan")
with open("config.ini", "w+") as file:
config.write(file)
2、删除一个节点所有选项或者某个节点的某个选项
# 删除节点
# config.remove_section("userinfo1")
# 删除选项和选项值
config.remove_option(section="userinfo1", option="username")
with open("config.ini", "w+") as file:
config.write(file)
3、修改某个节点的某个选项内容
config.set(section="userinfo1", option="username", value="999999")
with open("config.ini", "w+") as file:
config.write(file)
2、YAML文件
1、什么是yaml文件?
YAML 是一种灵活的数据格式,支持注释、换行符、多行字符串、裸字符等,在自动化过程中,我们很多地方都需要使用配置文件来存储数据
比如测试环境,数据库信息、账号信息、日志格式、日志报告名称等。
其中,yaml文件是最常用的配置文件类型之一,相比较ini,conf配置文件来说,它更加简洁,操作更加简单,同时还可以存放不同类型的数据。
后缀名:yaml yal
2、yaml支持哪些数据类型
对象、数组、纯量
3、YAML编写格式语法规则
大小写敏感
使用缩进表示层级关系 缩进用空格
# 表示注释
新建 yaml_1.yaml 文件 内容如下:
文件内容类型是:list
- 1
- 2
- 3
- 4
文件内容类型是:dict
username: cn
passwd: 123456
文件内容类型是:str
Hello World
1、读取yaml文件
import yaml
with open("yaml_3.yaml", "r") as file:
data = yaml.load(stream=file, Loader=yaml.FullLoader)
print(data)
print(type(data))
2、写入yaml文件
"""
序列化:python对象转换为数据文件进行存储及传输
"""
modules = [ "pytest", "unittest", "requests", "requests"]
with open("modules.yaml", "w+") as file:
yaml.dump(data=modules, stream=file, allow_unicode=True, encoding="utf-8")
3、修改yaml文件
可以先读取文件内容, 然后修改内容,再把内容写入modules.yaml文件
比如modules.yaml文件内容是list类型 修改列表第一个的值为aaa
import yaml
# 先读取yaml文件
with open("modules.yaml", "r") as file:
data = yaml.load(stream=file, Loader=yaml.FullLoader)
print(data)
print(type(data))
# 修改yaml文件
data[0] = "ddd"
# 把数据重新写入yaml文件
with open("modules.yaml", "w+") as file:
yaml.dump(data=data, stream=file, allow_unicode=True, encoding="utf-8")