一、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("---测试结束---")