Python语言的configparser模块便捷的读取配置文件内容

配置文件是在写脚本过程中经常会用到的,所以读取配置文件的模块configparser非常重要但是很简单。

首先我们的配置文件内容为:

 Python语言的configparser模块便捷的读取配置文件内容

这样的配置文件,[]里面的内容叫section[]下面内容options可以使用configparser模块下的get方法获取具体值。

import configparser

#创建一个解析器

config = configparser.ConfigParser()

# 读取config的内容并解析

config.read(‘config.ini’, encoding = ‘utf-8’)

# 使用get方法获得配置文件内容,返回的内容都是str类型

config.get(‘DATABASE’, ‘host’)

config.get(‘path’, ‘db_path’)

#如果想要获取int类型或者boolfloat类型,就在get的后面加intboolfloat

config.getint(‘DATABASE’, ‘port’)

示例代码:

import os
import codecs
import configparser


class ReadConfig:
    def __init__(self):
        with open(config_path) as fd:
            data = fd.read()
            # 判断data是否带BOM,如果带就删除
            if data[:3] == codecs.BOM_UTF8:
                data = data[3:]
                # 使用codecs.open打开文件,写入的时候更不容易出现编码问题,open方法只能写入str
                with codecs.open("config.ini", "w") as file:
                    file.write(data)
        # 将配置文件分割成一块一块的字典形式
        self.cf = configparser.ConfigParser()
        self.cf.read("config.ini")

    def get_db(self, name):
        value = self.cf.get("DATABASE", name)
        return value

不太常用的还有

# 是否有某个选项

config.has_option()  

# 添加选项

config.add_section(‘server’)   

config.set(‘server’, ‘url’, ’192.168.1.1’)

# 删除选项

config.remove_option(‘database’, ‘host’)

# 修改

config.set(‘database’, ‘host’, ’192.168.0.0’)

# 获取所有section

config.sections()

# 获取指定section的配置信息

config.items(‘path’)