基于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打开网页和暂停实例
Sep 30 Python
python按照多个字符对字符串进行分割的方法
Mar 17 Python
python+selenium实现登录账户后自动点击的示例
Dec 22 Python
为什么入门大数据选择Python而不是Java?
Mar 07 Python
11个Python Pandas小技巧让你的工作更高效(附代码实例)
Apr 30 Python
python隐藏终端执行cmd命令的方法
Jun 24 Python
Python3将jpg转为pdf文件的方法示例
Dec 13 Python
tensorflow入门:TFRecordDataset变长数据的batch读取详解
Jan 20 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
python Matplotlib数据可视化(1):简单入门
Sep 30 Python
python OpenCV学习笔记
Mar 31 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 date函数参数详解
2006/11/27 PHP
SMARTY学习手记
2007/01/04 PHP
在JavaScript中调用php程序
2009/03/09 PHP
php+js实现异步图片上传实例分享
2014/06/02 PHP
PHP实现清除wordpress里恶意代码
2015/10/21 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
2017/08/30 PHP
JavaScript中消除闭包的一般方法介绍
2015/03/16 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
js实现各种复制到剪贴板的方法(分享)
2016/10/27 Javascript
常用的几个JQuery代码片段
2017/03/13 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
JavaScript基于面向对象实现的猜拳游戏
2018/01/03 Javascript
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
[35:55]完美世界DOTA2联赛PWL S3 Rebirth vs CPG 第一场 12.11
2020/12/13 DOTA
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
Python AES加密模块用法分析
2017/05/22 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
基于python的selenium两种文件上传操作实现详解
2019/09/19 Python
Python测试Kafka集群(pykafka)实例
2019/12/23 Python
最新2019Pycharm安装教程 亲测
2020/02/28 Python
python collections模块的使用
2020/10/16 Python
python中的插入排序的简单用法
2021/01/19 Python
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
毕业生求职简历的自我评价
2013/10/07 职场文书
财务人员个人求职信范文
2013/12/04 职场文书
会计职业生涯规划范文
2014/01/04 职场文书
学习十八大报告感言
2014/02/28 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
白岩松演讲
2014/05/21 职场文书
物业接待员岗位职责
2015/04/15 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python
Python如何利用pandas读取csv数据并绘图
2022/07/07 Python