学习16天:pytest学习
一、python读取ini文件和yaml文件
1、ini做配置文件
pip install configparser
举例:
setting.ini
[host]
api_sit_url= http://admin.study.com[mysql]
MYSQL_HOST=471.11.51.16
MYSQL_PORT=3306
MYSQL_USER=vue_shop
MYSQL_PASSWD=study
MYSQL_DB=vue_shop
再编写python文件read_ini.py文件
import configparser
import os
import yamlini_path = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), "config", "settings.ini")
data_path=os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))),"data","data.yaml")class FlieRead:def __init__(self):self.data_path=data_pathself.ini_path =ini_pathdef read_ini(self):config = configparser.ConfigParser()config.read(ini_path, encoding='utf8')return configdef read_yanl(self):f = open(data_path, encoding='utf8')data = yaml.safe_load(f)return database_data=FlieRead()
二、日志配置logging配置
等级由低到高:
- debug
- info
- warning
- error
创建log_util.py文件,再创建log文件夹,存放日志
import logging
import os
import time
# 找到项目的主目录
rootpath = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
# 再到log文件下
logpath = os.path.join(rootpath,"log")if not os.path.exists(logpath):os.mkdir(logpath)class Logger:def __init__(self):#定义日志位置和文件名self.logname = os.path.join(logpath, "{}.log".format(time.strftime("%Y-%m-%d")))# 定义一个日志容器self.logger = logging.getLogger("log")# 设置日志打印的级别self.logger.setLevel(logging.DEBUG)# 创建日志输入的格式self.formater = logging.Formatter('[%(asctime)s][%(filename)s %(lineno)d][%(levelname)s]: %(message)s')# 创建日志处理器,用来存放日志文件self.filelogger = logging.FileHandler(self.logname, mode='a', encoding="UTF-8")# 创建日志处理器,在控制台打印self.console = logging.StreamHandler()# 设置控制台打印日志界别self.console.setLevel(logging.DEBUG)# 文件存放日志级别self.filelogger.setLevel(logging.DEBUG)# 文件存放日志格式self.filelogger.setFormatter(self.formater)# 控制台打印日志格式self.console.setFormatter(self.formater)# 将日志输出渠道添加到日志收集器中self.logger.addHandler(self.filelogger)self.logger.addHandler(self.console)logger = Logger().loggerif __name__ == '__main__':logger.info("---测试开始---")logger.debug("---测试结束---")