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

配置文件是在写脚本过程中经常会用到的,所以读取配置文件的模块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类型或者bool,float类型,就在get的后面加int,bool,float
config.getint(‘DATABASE’, ‘port’)

示例代码:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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’)

猜你喜欢

转载自blog.csdn.net/sinat_38682860/article/details/107785729