基于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模拟登录百度贴吧(百度贴吧登录)实例
Dec 18 Python
Django中的CACHE_BACKEND参数和站点级Cache设置
Jul 23 Python
Python使用QQ邮箱发送Email的方法实例
Feb 09 Python
Python用imghdr模块识别图片格式实例解析
Jan 11 Python
python的turtle库使用详解
May 10 Python
Django CSRF跨站请求伪造防护过程解析
Jul 31 Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 Python
Python协程 yield与协程greenlet简单用法示例
Nov 22 Python
基于pytorch的lstm参数使用详解
Jan 14 Python
在pycharm中为项目导入anacodna环境的操作方法
Feb 12 Python
matplotlib自定义鼠标光标坐标格式的实现
Jan 08 Python
python正则表达式re.search()的基本使用教程
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
PHP新手上路(十四)
2006/10/09 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
php中mysql操作buffer用法详解
2015/03/19 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
JavaScript 布尔操作符解析  && || !
2012/08/10 Javascript
js动态创建表格,删除行列的小例子
2013/07/20 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
jQuery根据ID、CLASS、等获取对象的实例
2016/12/04 Javascript
jQuery基于xml格式数据实现模糊查询及分页功能的方法
2016/12/25 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
vue深入解析之render function code详解
2017/07/18 Javascript
JS字符串与二进制的相互转化实例代码详解
2019/06/28 Javascript
layui关闭层级、简单监听的实例
2019/09/06 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
python中import学习备忘笔记
2017/01/24 Python
python非递归全排列实现方法
2017/04/10 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
基于腾讯云服务器部署微信小程序后台服务(Python+Django)
2019/05/08 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
2019/10/30 Python
python中for循环变量作用域及用法详解
2019/11/05 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别
2020/06/12 Python
Python异常处理机制结构实例解析
2020/07/23 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
表单button的outline在firefox浏览器下的问题
2012/12/24 HTML / CSS
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
锐步香港官方网上商店:Reebok香港
2020/11/05 全球购物
2015年家长学校工作总结
2015/04/22 职场文书
倡议书范文大全
2015/04/28 职场文书
《开国大典》教学反思
2016/02/16 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书