基于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基础教程之常用运算符
Aug 29 Python
Python日期的加减等操作的示例
Aug 15 Python
python编程测试电脑开启最大线程数实例代码
Feb 09 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
Python二叉搜索树与双向链表转换算法示例
Mar 02 Python
python创造虚拟环境方法总结
Mar 04 Python
Python 列表去重去除空字符的例子
Jul 20 Python
flask 实现上传图片并缩放作为头像的例子
Jan 09 Python
python 正则表达式参数替换实例详解
Jan 17 Python
Python flask框架如何显示图像到web页面
Jun 03 Python
django表单中的按钮获取数据的实例分析
Jul 31 Python
opencv读取视频并保存图像的方法
Jun 04 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 加密与解密的斗争
2009/04/17 PHP
php 魔术方法使用说明
2009/10/20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
屏蔽PHP默认设置中的Notice警告的方法
2016/05/20 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
php经典趣味算法实例代码
2020/01/21 PHP
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
禁用键盘上的(全局)指定键兼容iE、Chrome、火狐
2013/05/14 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
Vue.Draggable实现拖拽效果
2020/07/29 Javascript
JavaScript 有用的代码片段和 trick
2018/02/22 Javascript
p5.js入门教程之图片加载
2018/03/20 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
2020/04/12 Javascript
layer提示框添加多个按钮选择的实例
2019/09/12 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
不刷新网页就能链接新的js文件方法总结
2020/03/01 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
Nest.js散列与加密实例详解
2021/02/24 Javascript
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
python实现XML解析的方法解析
2019/11/16 Python
优秀毕业生推荐信
2013/11/02 职场文书
门卫工作岗位职责
2013/12/17 职场文书
工程质量承诺书范文
2014/03/27 职场文书
诚信考试倡议书
2014/04/15 职场文书
村党支部公开承诺书
2014/05/29 职场文书
小学安全工作汇报材料
2014/08/19 职场文书
委托书的写法
2014/08/30 职场文书
2014年保险公司工作总结
2014/11/22 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript