目录
一、.ini配置文件
后缀名.ini 用于存储项目全局配置变量
比如:接口地址 项目地址…输出文件路径
1.1、ini编写格式
[节点]
选项=选项值
注释前面加;
注意:节点不可以重复
[section]
option=value
option=value
创建nmb.ini文件,代码如下:
[log]
name = py30
level = INFO
file_ok = TRUE
file_name = py30.log
[mysql]
user = nmb
passwd = 123456
1.2、读取.ini配置文件的数据
from configparser import ConfigParser
# 实例化
config = ConfigParser()
# 读取配置文件
config.read("nmb.ini",encoding="utf-8")
# 获取ini文件中所有节点
sections = config.sections()
print(sections)
# 获取ini文件中某个节点下所有选项
options = config.options(section="log")
print(options)
# 获取ini文件中某个节点下某个选项的选项值,默认读取到的全部都是字符串
value = config.get(section="log",option="file_ok")
print(value)
print(type(value))
# 使读取出来为布尔值
val = config.getboolean(section="log",option="file_ok")
print(val)
# 获取ini文件中某个节点下所有选项及选项值---》元组列表
values = config.items(section="log")
print(values)
1.3、编辑:写入和删除(了解即可)
# 写入一个节点
new_section="userinfo"
if new_section not in sections:
config.add_section(new_section)
# 给某个节点添加选项及选项值
config.set(section=new_section, option="username", value="luban")
config.set(section=new_section, option="passwd", value="123456")
with open("nmb.ini", "w+", encoding="utf-8") as file:
config.write(file)
else:
# 写入
config.set("log", "file_name", "py30303.log")
# 写入文件
with open("nmb.ini", "w", encoding="utf-8") as file:
config.write(file)
# 另一种写法 config.write(open("nmb.ini", "w", encoding="utf-8"))
# 删除节点
del_section = "userinfo"
print(sections)
if del_section in sections:
config.remove_section(del_section)
with open("nmb.ini","w+") as file:
config.write(file)
# 删除选项及选项值
del_section1 = "userinfo1"
del_option = "username1"
config.remove_option(section=del_section1, option=del_option)
with open("nmb.ini", "w+") as file:
config.write(file)
二、yaml文件
2.1、yaml编写语法规则
1、大小写敏感
2、使用缩进表示层级关系
3、禁止使用TAB缩进,缩进只能用空格,相同的层级元素左对齐即可
4、使用#表示注释
5、字符串可以不用引号标注
2.2、yaml三种数据结构
1、字典
使用冒号(:)表示键值对,同一缩进的所有键值对属于一个map
# Yaml(注意冒号后的空格)
name: luban
age: 15
2、列表
使用连字符(-)表示,注意-后的空格
- hello
- world
3、scalar(纯量)
字符串、数字、布尔值
2.3、yaml文件的读取和写入
先安装第三方库 PyYAML
1、读取
import yaml
with open("config.yml", "r") as file:
data = yaml.load(stream=file, Loader=yaml.FullLoader)
print(data)
2、写入
import yaml
modules=["中文", "pytest", "unittest", "requests", "requests"]
with open("config.yml", "a+") as file:
yaml.dump(data=modules, stream=file, allow_unicode=True, encoding="utf-8")