基于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发腾讯微博代码分享
Jan 10 Python
python实现保存网页到本地示例
Mar 16 Python
Python中的map、reduce和filter浅析
Apr 26 Python
将Python中的数据存储到系统本地的简单方法
Apr 11 Python
Python实现字典依据value排序
Feb 24 Python
Python设计实现的计算器功能完整实例
Aug 18 Python
python实现简单遗传算法
Mar 19 Python
浅谈Python的list中的选取范围
Nov 12 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
pandas DataFrame索引行列的实现
Jun 04 Python
python打包exe开机自动启动的实例(windows)
Jun 28 Python
Python文件读写w+和r+区别解析
Mar 26 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打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
js保存当前路径(cookies记录)
2010/12/14 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
无缝滚动js代码通俗易懂(自写)
2013/06/19 Javascript
利用jQuery简单实现产品展示图片左右滚动功能(示例代码)
2014/01/02 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
用jquery修复在iframe下的页面锚点失效问题
2014/08/22 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
设置点击文本框或图片弹出日历控件的实现代码
2016/05/12 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
Vue.directive使用注意(小结)
2018/08/31 Javascript
原生JS实现获取及修改CSS样式的方法
2018/09/04 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
2018/09/14 Javascript
Python实现计算两个时间之间相差天数的方法
2017/05/10 Python
详解pandas的外部数据导入与常用方法
2019/05/01 Python
基于python的socket实现单机五子棋到双人对战
2020/03/24 Python
python 字典操作提取key,value的方法
2019/06/26 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
2020/01/06 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
运动会通讯稿100字
2014/01/31 职场文书
大学生2014全国两会学习心得体会
2014/03/10 职场文书
开学典礼演讲稿
2014/05/23 职场文书
社区娱乐活动方案
2014/08/21 职场文书
普通党员整改措施
2014/10/24 职场文书
审美与表现自我评价
2015/03/09 职场文书
优秀党员主要事迹范文
2015/11/05 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
Python中requests做接口测试的方法
2021/05/30 Python
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis