学习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("---测试结束---")
相关推荐
lingggggaaaa1 小时前
免杀对抗——C2远控篇&PowerShell&有无文件落地&C#参数调用&绕AMSI&ETW&去混淆特征
c语言·开发语言·笔记·学习·安全·microsoft·c#
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [kernel]workqueue
linux·笔记·学习
wdfk_prog3 小时前
[Linux]学习笔记系列 -- [kernel]usermode_helper
linux·笔记·学习
冬夜戏雪4 小时前
【学习日记】【刷题回溯、贪心、动规】
学习
一只爱做笔记的码农4 小时前
【BootstrapBlazor】移植BootstrapBlazor VS工程到Vscode工程,报error blazor106的问题
笔记·学习·c#
xixixi777774 小时前
“C2隐藏”——命令与控制服务器的隐藏技术
网络·学习·安全·代理·隐藏·合法服务·c2隐藏
名字不相符5 小时前
攻防世界WEB难度一(个人记录)
学习·php·web·萌新
陈天伟教授5 小时前
基于学习的人工智能(4)机器学习基本框架
人工智能·学习·机器学习
7***37455 小时前
DeepSeek在文本分类中的多标签学习
学习·分类·数据挖掘
jiushun_suanli6 小时前
量子纠缠:颠覆认知的宇宙密码
经验分享·学习·量子计算