我们平时的方法调用中,有需要用到配置文件的地方,每次取出配置值都非常麻烦,我们今天封装一个获取配置文件的方法,方便各个模块的引用
一、文件格式
[default]
excel_path=../dat/case_01.xlsx
[infologs]
log_path=../config/info_logs.txt
[errorlogs]
log_path=../config/error_logs.txt
二、概述
1、读取,ini文件的时候,首先要导入 configparser 包
2、下面我们简单的介绍一下基本语法
from configparser import ConfigParser
proDir=os.path.dirname(__file__)#获取当前工作路径
filePlanet=os.path.join(proDir+'/../config/config.ini')#文件路径
cg=ConfigParser()#建立对象
cg.read(filePlanet)#以读的方式打开
print(cg.sections())#查看节段
print(cg.get('default','excel_path'))#获取单个值
注意点:
#如果ini文件中有特殊符号%的时候使用RawConfigParser或者SafeConfigParser
#ConfigParser是最基础的INI文件读取类,RawCnfigParser、SafeConfigParser支持对%(value)s变量的解析。
三、封装代码示例
import os
from configparser import ConfigParser
current=os.path.dirname(__file__)
filepath=os.path.join(current,'../config/config.ini')
class Getconfig:
def __init__(self):
self.__conf=ConfigParser()
self.__conf.read(filepath,encoding='utf-8')
#自定义获取配置名称值
def get_independent(self,configuration,name):
return self.__conf.get(configuration,name)
#指定配置名称值
@property #将方法变为属性
def get_filepath(self):
return self.__conf.get('default','excel_path')
@property # 将方法变为属性
def get_logInfopath(self):
return self.__conf.get('infologs', 'log_path')
@property # 将方法变为属性
def get_logErrorpath(self):
return self.__conf.get('errorlogs', 'log_path')