python:.py/.yaml/.ini配置文件用法及区别

什么样的数据可以用配置文件
变量:随时都会变化的
常量:一般来说配置里面存的是常量,你的程序启动后,几乎不会发生变化的数据

存储形式
字典:key:value
变量:x=10

python的配置文件形式:
1.python模块 py文件作为配置的文件
存储配置项 – 直接导入使用 通过py模块下面的变量
灵活管理项目
换项目就不需要改代码,只需要改配置文件

import sys  
# 写成类的好处:可以在不同的环境使用
class LoggerConfig:
	logger_name="python api"
	logger_file="api.txt"
	logger_level="DEBUG"
clas ProductLoggerConfig(LoggerConfig):
	logger_level="warning"
	
if sys.platform=="linux": # 自己判断哪个环境
	config = ProductLoggerConfig
else:
	config=LoggerConfig

2.yaml文件 .yaml .yml文件
参考:http://www.ruanyifeng.com/blog/2016/07/yaml.html

# 对象 - 字典类型 加不加引号都可以
logger:
	name: python api
	file: api.txt
	level: DEBUG
# 数组 - 列表类型的
demo: 25 # 输出是int -- 要str类型的话 "25"
demo1: ["中文要编码","hello"] # 读取的话 中文要编码utf-8
demo2: # 这种格式也可以
	- 中文要编码
	- hello

python中读取yaml 文件 - 第三方需要安装 pyyaml

import yaml 
# 读取yaml配置  
f = open("python.yaml",encoding="utf-8")
data = yaml.load(f.read(),Loader=yaml.FullLoader) # 输入字典格式
f.close()
# 可以用with open
with open("python.yaml",encoding="utf-8") as f:
	data = yaml.load(f.read(),Loader=yaml.FullLoader)

3 .ini文件 .conf文件 .xml文件
结构:
片段 session
选项 option,key字典
值 value
.ini文件 – 读取出来都是字符串格式 --还得解析转换,比较麻烦 --没有注释

[logger]
	name = ["python api"]
	file = "python.txt"
	level = "DEBUG"
	age = 5
	play = {"a":"1","b":2}
	hobby = ["com","sing"]

读取 .ini 文件


from configparser import ConfigParser
# 初始化
config = ConfigParser()
# 读取文件
config.read("python.ini",encoding="utf-8") 
# 使用
data = config.get("logger","name")
print(data) # ["python api"]
print(type(data)) # 

你可能感兴趣的:(unittest框架,web自动化,接口测试)