Python读取、配置ini文件

Python读取、配置ini文件

  • ini配置文件
  • configparser简介
    • configparser 常用方法
      • 获取
      • 添加
      • 删除
  • Python代码

ini配置文件

ini文件格式是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中。
ini文件主要存放常量、用户所做的选择以及系统的各种参数。用户可以通过修改ini文件,来改变应用程序和系统的很多配置。格式如下:

[section_1]
name_1 = value_1
name_2 = value_2

configparser简介

configparser 是 Pyhton 标准库中用来解析配置文件的模块,并且内置方法和字典非常接近。Python2.x 中名为 ConfigParser,3.x 已更名小写configparser,并加入了一些新功能。

configparser 常用方法

使用 configparser 需要初始化实例,并读取配置文件:
import configparser
cf = configparser.ConfigParser()
#这里的大小写需要注意.
cf.read("config.ini")

获取

1. 获取所有 sections
2. 获取指定 section 的 keys
3. 获取指定 section 的 keys & values
4. 获取指定 section里某key 的 value
cf.sections()
cf.options('section_1')
cf.items('section_1')
cf.get('section_1', 'name_1')

添加

1. 添加section
2. 添加指定 section 的 keys和value
3. 在进行添加操作之后必须使用write将文件写回
cf.add_section('section_2')
cf.set('section_2', 'key_1', 'value_1')
cf.write(open('config.ini', 'w'))

删除

1. 删除section
2. 删除指定 section 的 keys和value
3. 在进行删除操作之后必须使用write将文件写回
cf.remove_section('section_2')
cf.remove_option('section_2', 'key_1', 'value_1')
cf.write(open('config.ini', 'w'))

Python代码

在工程中需要加入自己对配置文件数据的操作及检查,所以重新封装了configparser类,具体代码如下:

import os,re
import configparser

class INI_object:
    def __init__(self):
    	#function:  初始化INI文件       
        config_file_path = self.getProjectPath() + "\\configure.ini"
        self.cf = configparser.ConfigParser()
        self.cf.read(config_file_path)
        
    def getProjectPath(self):
    	#function:  获取当前工程绝对路径  
    	str = os.path.dirname(os.path.abspath(__file__))
    	file_path = str + "\\config.ini"
    	return str
        
    def get(self,section, option):
    	#function:  读取INI文件配置信息.
        try:
    	    ret = self.cf.get(section, option)
    	    return ret
        except:
    	    print("不能获取到%s选项 %s的值." %(section,option)) 
    	    exit(1)
            
	def set(self,section, option, value):
    	#function:   设置INI文件配置信息.         
    	return self.cf.set(section, option, value)
        
if __name__ == "__main__":
    ini = INI_object()
    config = ini.get('Section', 'Option')

更多用法请看官方文档:https://docs.python.org/3.6/library/configparser.html

你可能感兴趣的:(Python)