基于python的ini配置文件操作工具类


Posted in Python onApril 24, 2019

本文实例为大家分享了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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python根据给定文件返回文件名和扩展名的方法
Mar 27 Python
用Python编写简单的定时器的方法
May 02 Python
Django框架中render_to_response()函数的使用方法
Jul 16 Python
Python读取英文文件并记录每个单词出现次数后降序输出示例
Jun 28 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
详解pyenv下使用python matplotlib模块的问题解决
Nov 29 Python
关于Pycharm无法debug问题的总结
Jan 19 Python
详解Python3之数据指纹MD5校验与对比
Jun 11 Python
python:动态路由的Flask程序代码
Nov 22 Python
节日快乐! Python画一棵圣诞树送给你
Dec 24 Python
Python ORM框架Peewee用法详解
Apr 29 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
python实现简单日期工具类
Apr 24 #Python
NumPy 基本切片和索引的具体使用方法
Apr 24 #Python
Python使用dict.fromkeys()快速生成一个字典示例
Apr 24 #Python
python3中property使用方法详解
Apr 23 #Python
详解爬虫被封的问题
Apr 23 #Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 #Python
Python3.5 Pandas模块之DataFrame用法实例分析
Apr 23 #Python
You might like
Ajax PHP简单入门教程代码
2008/04/25 PHP
php下删除一篇文章生成的多个静态页面
2010/08/08 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
2013/06/05 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
探讨JavaScript语句的执行过程
2016/01/28 Javascript
jQuery判断浏览器并动态调整select宽度的方法
2016/03/02 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
基于jQuery实现动态搜索显示功能
2016/05/05 Javascript
JavaScript数据操作_浅谈原始值和引用值的操作本质
2016/08/23 Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
2017/01/13 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
node的process以及child_process模块学习笔记
2018/03/06 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
对vue中的事件穿透与禁止穿透实例详解
2019/10/28 Javascript
JavaScript实现多文件下载方法解析
2020/08/07 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
2020/09/11 Javascript
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
Python中logging模块的用法实例
2014/09/29 Python
python访问系统环境变量的方法
2015/04/29 Python
举例简单讲解Python中的数据存储模块shelve的用法
2016/03/03 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
Python + selenium自动化环境搭建的完整步骤
2018/05/19 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
Python内存泄漏和内存溢出的解决方案
2020/09/26 Python
佳能德国网上商店:Canon德国
2017/03/18 全球购物
全球高级音频和视频专家:HiDef Lifestyle
2019/08/02 全球购物
有趣的广告词
2014/03/18 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
学校党员对照检查材料
2014/08/28 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
学校节水倡议书
2015/04/29 职场文书
Spring-cloud Config Server的3种配置方式
2021/09/25 Java/Android