一、什么是ini文件
后缀名.ini 用于存储项目全局配置变量
比如:接口地址 项目地址….输出文件路径
二、ini文件编写格式
三、ini文件读取
import configparser
config=configparser.ConfigParser()
config.read("config.ini",encoding="utf‐8")
# 获取ini文件中所有的节点
sections=config.sections()
# 获取ini文件中某个节点下所有选项
options=config.options(section="database")
# 获取某个节点下某个选项的选项值
value=config.get(section="database",option="username")
# 获取某个节点下的所有选项及选项值 ‐‐‐》元组列表
values=config.items(section="database")
print(sections)
print(options)
print(values)
print(value)
四、ini文件的编辑(写入或者修改)
"""
ini文件编辑:
1、写入一个节点
2、写入选项及选项值
3、删除节点
4、删除选项及选项值
"""
# 写入一个节点
new_section="userinfo1"
if new_section not in sections:
config.add_section("userinfo1")
# 给某个节点添加选项及选项值
config.set(section="userinfo1",option="username",value="hefan")
config.set(section="userinfo1",option="passwd",value="hefan")
# file=open("config.ini","w+")
# config.write(file)
# file.close()
with open("config.ini","w+") as file:
config.write(file)
# 删除节点
del_section="userinfo1"
print(sections)
if del_section in sections:
config.remove_section(section=del_section)
with open("config.ini","w+") as file:
config.write(file)
# 删除选项及选项值
config.remove_option(section="userinfo",option="passwd")
with open("config.ini","w+") as file:
config.write(file)
五、yaml文件处理
1、什么是yaml文件
YAML 是一种灵活的数据格式,支持注释、换行符、多行字符串、裸字符等在自动化过程中,我们很多地方都需要使用配置文件来储存数据
比如测试环境,数据库信息、账号信息、日志格式、日志报告名称等。
其中,yaml文件是最常用的配置文件类型之一,相比较ini,conf配置文件来说,它更加简洁,操作更加简单,同时还可以存放不同类型的数据。
后缀名:.yaml .yml
2、yaml支持哪些数据类型
3、yaml编写格式语法规则
大小写敏感
使用缩进表示层级关系
缩进用空格,相同的层级元素左对齐即可
#表示注释
hello world
username: cn
passwd: 123456
- 1
- 2
- 3
- 4
‐ sucesslogin:
username: xingyao
passwd: 123456
‐ errorlogin:
‐ username: xingyao
passwd: 123456
‐ username: baili
passwd: 1111111
4、yaml文件的读取 反序列化:从文件转换为Python对象
第三方库 PyYAML
import yaml
with open("yaml_5.yml","r") as file:
data= yaml.load(stream=file, Loader=yaml.FullLoader)
print(data)
5、yaml另外一种操作:yaml写入数据
纯量、对象、数组(Python对象) ——-》yaml文件 序列化(持久化)
modules = ["中文", "pytest", "unittest", "requests", "requests"]
with open("modules.yaml", "w+") as file:
yaml.dump(data=modules, stream=file, allow_unicode=True, encoding="utf‐8")