Cyuhong 2019-04-24
本文实例为大家分享了python的ini配置文件操作工具类的具体代码,供大家参考,具体内容如下
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @Time : 2018/6/22 @Author : LiuXueWen @Site : @File : Util_Ini_Operation.py @Software: PyCharm @Description: ini配置文件操作工具类 1.读取.ini配置文件 2.修改.ini配置文件 [section] option:value """ import ConfigParser ''' 基础读取配置文件 -read(filename) 直接读取文件内容 -sections() 得到所有的section,并以列表的形式返回 -options(section) 得到该section的所有option -items(section) 得到该section的所有键值对 -get(section,option) 得到section中option的值,返回为string类型 -getint(section,option) 得到section中option的值,返回为int类型,还有相应的getboolean()和getfloat() 函数。 ''' class get_ini(): # 初始化配置文件对象 def __init__(self,path): # 实例化 self.cf = ConfigParser.ConfigParser() # 读取配置文件 self.cf.read(path) # 获取所有的sections def get_sections(self): sections = self.cf.sections() return sections # 获取section下的所有key def get_options(self,section): opts = self.cf.options(section=section) return opts # 获取section下的所有键值对 def get_kvs(self,section): kvs = self.cf.items(section=section) return kvs # 根据section和option获取指定的value def get_key_value(self,section,option): opt_val = self.cf.get(section=section,option=option) return opt_val # 更新指定section的option下的value # def update_section_option_val(self,section,option,value,path,module): # self.cf.set(section=section,option=option,value=value) # with open(path,module) as f: # self.cf.write(f) ''' 基础写入配置文件 -write(fp) 将config对象写入至某个 .init 格式的文件 Write an .ini-format representation of the configuration state. -add_section(section) 添加一个新的section -set(section, option, value) 对section中的option进行设置,需要调用write将内容写入配置文件 ConfigParser2 -remove_section(section) 删除某个 section -remove_option(section, option) 删除某个 section 下的 option ''' class write_ini(): def __init__(self,path,module): # 实例化配置对象 self.cf = ConfigParser.ConfigParser() # 获取写入文件路径,若采用w+方式则该文件可以不存在 self.path = path # 配置写入方式,写入方式"w+"清空写 self.module = module # 写入配置文件 def write_ini_file(self): with open(self.path,self.module) as f: self.cf.write(f) # 新增section def add_section(self,section): self.cf.add_section(section=section) self.write_ini_file() # 删除某个 section def remove_section(self,section): self.cf.remove_section(section=section) self.write_ini_file() # 删除某个 section 下的 option def remove_option(self,section,option): self.cf.remove_option(section=section,option=option) self.write_ini_file() if __name__ == '__main__': pass