基于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内置函数Type()函数一个有趣的用法
Feb 18 Python
Python设计模式编程中Adapter适配器模式的使用实例
Mar 02 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
tensorflow识别自己手写数字
Mar 14 Python
浅谈Python爬虫基本套路
Mar 25 Python
十行代码使用Python写一个USB病毒
Jun 21 Python
python中while和for的区别总结
Jun 28 Python
python 三元运算符使用解析
Sep 16 Python
Python的缺点和劣势分析
Nov 19 Python
Python Handler处理器和自定义Opener原理详解
Mar 05 Python
Python多线程通信queue队列用法实例分析
Mar 24 Python
python井字棋游戏实现人机对战
Apr 28 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
zend framework配置操作数据库实例分析
2012/12/06 PHP
PHP生成器简单实例
2015/05/13 PHP
php中static 静态变量和普通变量的区别
2016/12/01 PHP
PHP中list方法用法示例
2016/12/01 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
yii2.0框架使用 beforeAction 防非法登陆的方法分析
2019/09/11 PHP
js修改地址栏URL参数解决url参数问题
2012/12/15 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
使用RequireJS库加载JavaScript模块的实例教程
2016/06/06 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
react-native之ART绘图方法详解
2017/08/08 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
[01:24:51]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第二场
2014/05/26 DOTA
python ip正则式
2009/05/07 Python
Python抓取百度查询结果的方法
2015/07/08 Python
python如何拆分含有多种分隔符的字符串
2018/03/20 Python
对Python3.6 IDLE常用快捷键介绍
2018/07/16 Python
对python的bytes类型数据split分割切片方法
2018/12/04 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
python+opencv实现移动侦测(帧差法)
2020/03/20 Python
Django中的模型类设计及展示示例详解
2020/05/29 Python
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
副董事长岗位职责
2014/04/02 职场文书
前台岗位职责
2015/02/13 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android