基于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 Django做网页
Nov 04 Python
Python正则表达式的使用范例详解
Aug 08 Python
Python中不同进制互相转换(二进制、八进制、十进制和十六进制)
Apr 05 Python
深入理解Python中字典的键的使用
Aug 19 Python
使用Kivy将python程序打包为apk文件
Jul 29 Python
Python基于pygame模块播放MP3的方法示例
Sep 30 Python
java判断三位数的实例讲解
Jun 10 Python
python反转列表的三种方式解析
Nov 08 Python
python plotly画柱状图代码实例
Dec 13 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
Jan 10 Python
在python image 中实现安装中文字体
May 16 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
?繁体转换的class
2006/10/09 PHP
php文件上传类完整实例
2016/05/14 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
2019/05/29 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
Js从头学起(基本数据类型和引用类型的参数传递详细分析)
2012/02/16 Javascript
JQuery设置文本框和密码框得到焦点时的样式
2013/08/30 Javascript
防止按钮在短时间内被多次点击的方法
2014/03/10 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
实例详解AngularJS实现无限级联动菜单
2016/01/15 Javascript
JavaScript图像延迟加载库Echo.js
2016/04/05 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
Node.js复制文件的方法示例
2016/12/29 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
Vue渲染过程浅析
2019/03/14 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
python利用7z批量解压rar的实现
2019/08/07 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
通过cmd进入python的步骤
2020/06/16 Python
python opencv实现简易画图板
2020/08/27 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
HTML5拖放功能_动力节点Java学院整理
2017/07/13 HTML / CSS
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
消防安全责任书范本
2014/04/15 职场文书
服务标兵事迹材料
2014/05/04 职场文书
关于环保的活动方案
2014/08/25 职场文书
2014年质检员工作总结
2014/11/18 职场文书
师范生小学见习总结
2015/06/23 职场文书