学习16天:pytest学习

一、python读取ini文件和yaml文件

1、ini做配置文件

pip install configparser

举例:

setting.ini

python 复制代码
[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文件

python 复制代码
import configparser
import os
import yaml

ini_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_path
        self.ini_path =ini_path


    def read_ini(self):
        config = configparser.ConfigParser()
        config.read(ini_path, encoding='utf8')
        return config


    def read_yanl(self):
        f = open(data_path, encoding='utf8')
        data = yaml.safe_load(f)
        return data

base_data=FlieRead()

二、日志配置logging配置

等级由低到高:

  • debug
  • info
  • warning
  • error

创建log_util.py文件,再创建log文件夹,存放日志

python 复制代码
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().logger

if __name__ == '__main__':
    logger.info("---测试开始---")
    logger.debug("---测试结束---")
相关推荐
HY小宝F10 分钟前
树莓派智能摄像头系统 30 天重学计划之 Day 03 · 网络基础:建立“包“的思维 —— 学习总结
网络·学习
dadaobusi18 分钟前
学习:AXI协议
学习
xxwl58520 分钟前
vue3的入门学习
前端·vue.js·学习
Joe_Wang530 分钟前
【从0到1学习JVM · 21】既不浪费空间又没有碎片,标记整理算法到底慢在哪
jvm·学习·算法·垃圾回收·标记整理算法
个 人 练 习 生1 小时前
C++:模板初阶详解
开发语言·c++·经验分享·学习
辣知1 小时前
辣知·化智69 西周青铜器何尊的宅兹中国
学习
AOI小白新手上路1 小时前
韦东山 3-5 I.MX6ULL 的 LED 编程 · 学习笔记
arm开发·笔记·单片机·学习·架构·硬件架构
知识分享小能手1 小时前
C++ 学习教程,从入门到精通,C++类继承 — 完整知识点详解(13)
开发语言·c++·学习
Joe_Wang52 小时前
【从0到1学习JVM · 25】同样都要停顿所有线程,Parallel比Serial到底强在哪
java·jvm·学习·垃圾回收
M78佐菲2 小时前
ARM学习笔记(9)
linux·arm开发·笔记·嵌入式硬件·学习