学习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("---测试结束---")
相关推荐
阿蒙Amon8 小时前
TypeScript学习-第10章:模块与命名空间
学习·ubuntu·typescript
AI绘画哇哒哒8 小时前
【干货收藏】深度解析AI Agent框架:设计原理+主流选型+项目实操,一站式学习指南
人工智能·学习·ai·程序员·大模型·产品经理·转行
戌中横9 小时前
JavaScript——预解析
前端·javascript·学习
●VON10 小时前
React Native for OpenHarmony:2048 小游戏的开发与跨平台适配实践
javascript·学习·react native·react.js·von
ZH154558913110 小时前
Flutter for OpenHarmony Python学习助手实战:自动化脚本开发的实现
python·学习·flutter
xcLeigh10 小时前
Python入门:Python3 requests模块全面学习教程
开发语言·python·学习·模块·python3·requests
xcLeigh10 小时前
Python入门:Python3 statistics模块全面学习教程
开发语言·python·学习·模块·python3·statistics
GHL28427109011 小时前
分析式AI学习
人工智能·学习·ai编程
lpruoyu11 小时前
【Android第一行代码学习笔记】Android架构_四大组件_权限_持久化_通知_异步_服务
android·笔记·学习
野犬寒鸦11 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法