基于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编程之多态用法实例详解
May 19 Python
Python数据操作方法封装类实例
Jun 23 Python
python通过opencv实现批量剪切图片
Nov 13 Python
python 检查是否为中文字符串的方法
Dec 28 Python
深入理解Python异常处理的哲学
Feb 01 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
Jun 19 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
Aug 05 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
分享PyCharm的几个使用技巧
Nov 10 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
Jun 11 Python
python实现腾讯滑块验证码识别
Apr 27 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
《PHP边学边教》(01.开篇――准备工作)
2006/12/13 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
添加到收藏夹代码(兼容几乎所有的浏览器)
2007/01/09 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
JavaScript程序中的流程控制语句用法总结
2016/05/23 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
获取JS中网页各种高宽与位置的方法总结
2016/07/27 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
通过fastclick源码分析彻底解决tap“点透”
2017/12/24 Javascript
详解webpack多页面配置记录
2018/01/22 Javascript
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
JavaScript中的各种宽高属性的实现
2020/05/08 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
python实现dict版图遍历示例
2014/02/19 Python
Python脚本实现自动发带图的微博
2016/04/27 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
记一次pyinstaller打包pygame项目为exe的过程(带图片)
2020/03/02 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
python 深度学习中的4种激活函数
2020/09/18 Python
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
2013/07/19 HTML / CSS
canvas实现圆形进度条动画的示例代码
2017/12/26 HTML / CSS
印度服装购物网站:Limeroad
2018/09/26 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
早晨薰衣草在线女性精品店:Morning Lavender
2021/01/04 全球购物
AJAX检测用户名是否存在的方法
2021/03/24 Javascript
汽车维修专业个人求职信范文
2014/01/01 职场文书
铣工实训报告
2014/11/05 职场文书
写给纪委的违纪检讨书
2015/05/05 职场文书
升学宴家长答谢词
2015/09/29 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
python元组打包和解包过程详解
2021/08/02 Python
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL