使用configparser模块进行封装,构造配置文件处理器
2024-10-18 21:30:53
from configparser import ConfigParser class HandleConfig:
'''
定义一个配置文件处理类
'''
def __init__(self, filename):
self.filename = filename # 配置文件名
self.config = ConfigParser() # 创建一个配置文件对象
self.config.read(self.filename, encoding='utf-8') # 调用配置文件对象的读取方法,并传入一个配置文件名 def get_value(self, section, option): # 获取字符串类型的选项值
return self.config.get(section, option) def get_int(self, section, option): # 获取整型的选项值
return self.config.getint(section, option) def get_float(self, section, option): # 获取浮点型的选项值
return self.config.getfloat(section, option) def get_boolean(self, section, option): # 获取布尔类型的选项值
return self.config.getboolean(section, option) def get_eval_data(self, section, option): # 获取python内置类型的选项值
return eval(self.config.get(section, option)) @staticmethod
def write_value(filename, data): # 写入配置信息
'''
定义一个写入配置文件的方法
:param filename: 配置文件名,建议重新命名
:param data: 嵌套字典的字典,键为区域名,嵌套的区域值为选项名和选项值的字典
:return:
'''
config = ConfigParser()
if isinstance(data, dict):
for key in data: # 遍历一个嵌套字典的字典,并将取得的值赋给配置文件对象的选项名和选项值
config[key] = data[key] #
with open(filename, mode='w', encoding='utf-8') as f: # 创建一个配置文件并将获取到的配置信息使用配置文件对象的写入方法进行写入
config.write(f)
最新文章
- 公司内部培训AlwaysOn PPT分享
- deProto原型设计工具
- 【代码笔记】iOS-scrollerView里多个tableView加搜索框
- webstrom使用方法
- jsp页面
- 元数据metadata 对IO有多大影响
- powerdesigner导出SQL时大写转换
- vijosP1016 北京2008的挂钟
- NOI 2005 维修数列
- C - Big Number
- 【原创】编写多线程Python爬虫来过滤八戒网上的发布任务
- Akka(10): 分布式运算:集群-Cluster
- 201521123064 《Java程序设计》第12周学习总结
- ansible的tags
- 如何限定函数只在本cpp内有效
- js正则提取数字小数,提取中文,提取英文
- scrapy框架之递归解析和post请求
- 记录线上一次线程hang住问题
- java crm 进销存 springmvc SSM 项目 系统 源码
- Java8 新特性 Streams map() 示例
热门文章
- 以太网驱动的流程浅析(三)-ifconfig的-19错误最底层分析【原创】
- Dashboard安装与配置
- java中使用lambda表达式
- MATLAB实例:新建文件夹,保存.mat文件并保存数据到.txt文件中
- 数据库语言-SQL
- [译]Vulkan教程(19)渲染和呈现
- 基于V7的新版RL-USB V6.X + RL-FlashFS V6.X模板,操作CLASS10的SD卡速度12-15MB/S,含RTX5和FreeRTOS两版
- 洛谷 P4396 (离散化+莫队+树状数组)
- JavaScript -- 筑基
- JS基础语法---作用域