学习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("---测试结束---")
相关推荐
爱上好庆祝21 分钟前
svg图片
前端·css·学习·html·css3
嵌入式小企鹅36 分钟前
蓝牙学习系列(八):BLE L2CAP 协议详解
网络·学习·蓝牙·ble·协议栈·l2cap
jiayong232 小时前
第 8 课:开始引入组合式函数
前端·javascript·学习
格鸰爱童话2 小时前
向AI学习项目技能(五)
java·学习
技术人生黄勇2 小时前
拆解 Hermes Agent:开源 Agent 里唯一的闭环学习系统
学习
凉、介3 小时前
别再把 PCIe 的 inbound/outbound、iATU 和 eDMA 混为一谈
linux·笔记·学习·嵌入式·pcie
speop4 小时前
TASK01 | Reasoning Kindom
学习
2301_822703204 小时前
鸿蒙flutter三方库实战——教育与学习平台:Flutter Markdown
学习·算法·flutter·华为·harmonyos·鸿蒙
码喽7号4 小时前
vue学习四:Axios网络请求
前端·vue.js·学习
星幻元宇VR5 小时前
VR科普行走平台适用哪些科普教育主题
科技·学习·安全·vr·虚拟现实