六、配置文件读取封装
1、函数设计
类设计:ConfigParse
- init 方法:
- 初始化 ConfigParse 类的实例。
- 默认使用 FILE_PATH['ini'] 作为配置文件路径。
- 创建 configparser.ConfigParser 实例。
- 调用 read_config 方法读取配置文件。
- read_config 方法:
- 使用 config.read 方法读取指定路径的配置文件。
- get_value 方法:
- 从配置文件中获取指定 section 和 option 的值。
- 捕获异常并打印错误信息。
- get_host 方法:
- 直接从 Host 部分获取指定 option 的值。
- 调用 get_value 方法实现。
- get_MySQL 方法:
- 直接从 MySQL 部分获取指定 option 的值。
- 调用 get_value 方法实现。
2、代码
点击查看代码
"""
ConfigParse 类:
提供了一个封装的接口来读取 .ini 配置文件。
支持从特定部分获取配置值。
提供了快捷方法来获取 Host 和 MySQL 部分的值。
"""
# configparser 模块用于读取和写入配置文件
import configparser
# 引入seting文件中设置的ini文件的路径
from configs.setting import FILE_PATH
class ConfigParse:
"""
解析.ini后缀的配置文件
"""
def __init__(self,file_path=FILE_PATH['ini']):
self.file_path = file_path
self.config = configparser.ConfigParser()
self.read_config()
def read_config(self):
self.config.read(self.file_path)
def get_value(self,section,option):
"""
获取配置文件的值
:param section:头参数
:param option:下一级参数
:return:
"""
try:
return self.config.get(section,option)
except Exception as e:
print(f'解析配置文件出现异常,原因:{e}')
def get_host(self,option):
"""
直接获取host值,不用输入上一级信息
:param option:
:return:
"""
return self.get_value('Host',option)
def get_MySQL(self,option):
"""
直接获取mysql的值,不用输入上一级信息
:param option:
:return:
"""
return self.get_value('MySQL',option)
if __name__ == '__main__':
conf = ConfigParse()
res = conf.get_value('Host','host')
print(res)
res1 = conf.get_host('host')
print(res1)
res2 = conf.get_MySQL('port')
print(res2)
浙公网安备 33010602011771号