【Python学习笔记】使用configparser.ConfigParser()类记录日志所遇到的问题

【Python学习笔记】使用configparser.ConfigParser()类记录日志所遇到的问题

1. 问题描述

某项目日志有正常日志和异常日志,在调用异常日志显示接口时,总有正常的日志出现

2. 问题分析

内部使用pyhon的configparser.ConfigParser()记录日志,而在循环遍历日志文件时,将创建configparser.ConfigParser()对象的代码写在了循环体外。在这种情况下读取下一个日志文件时,执行的操作是若有与上一个日志文件相同的section则进行更新,若没有则保留上一个section及其数据,所以导致了正常的日志信息会出现在异常显示接口的结果中。

"""
@Author: 
@Date: 
@FileName:
@LastEditors: 
@version: 1.0
@lastEditTime: 
@Description: ini日志文件,在读取新的日志文件时某项section明明是空的,为什么还有数据?
"""
import configparser
import os

config = configparser.ConfigParser()

path = "data/log"
for log_filename in os.listdir(path):
    log_path = os.path.join(path, log_filename)
    config.read(log_path)
    """
    如果第二个文件有Anomalies,而第三个文件没有Anomalies
    当configparser.ConfigParser()对象声明在for循环之外时,read()只会更新读取到的新内容
    则在读取第三个文件时,会保留第二个文件的Anomalies及其内容
    则读取第三个文件
    """
    if not config.has_section('Anomalies'):
        print("no")
        continue
    print("yes")
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值