python--configparser库处理配置文件

配置文件介绍

配置文件存放内容

  1. 程序运行环境(加载参数)
  2. 授权信息
  3. 程序运行规则
  4. 程序共用数据等
  5. 总之,我可以通过修改配置文件,达到控制程序执行的目的,不需要修改代码内部的参数

文件后缀类型

.conf.ini.properties

配置文件存放格式

  1. 片段 section,片段名一般大写 [SECTION]
  2. 选项 option
  3. 值 value

操作配置文件

  1. 有如下配置文件,根据指定的片段和选项,读取出对应的值,如果指定值,修改这个配置文件
  2. 代码如下:
import configparser

class OperateConfig:
    def __init__(self, filename, section, option):
        self.filename = filename
        self.section = section
        self.option = option
        self.conf = configparser.ConfigParser()  # 创建实例
        self.conf.read(self.filename, encoding='utf-8') # 读取配置文件

    def read_config(self):
        '''
        根据section/option获取对应的value
        :return: value
        '''
        # 获取值.get(),找到section,再找到option
        return self.conf.get(self.section, self.option)

    def modify_config(self, value=None):
        '''
        如果value为空,则读取出value,如果value不为空,则修改对应的value
        :param value:
        :return:
        '''
        if value is None:
            return self.conf.get(self.section, self.option)

        # 修改配置文件
        else:
            self.conf.set(self.section, self.option, value)
            with open(self.filename, 'w+') as file:
                self.conf.write(file)
            return self.conf.get(self.section, self.option)


if __name__ == '__main__':
    oc = OperateConfig('pro.conf', 'MODE', 'mode')
    print(oc.read_config())      # 获取配置文件
    oc.modify_config('2')      # 修改配置文件

  1. 执行结果,配置文件被修改

注意事项

  1. 所有数据从配置文件中读取出来都是str类型,如果使用原本数据类型,用 eval() 函数转换
  2. 配置文件必须随运行脚本在同一级目录,否则可能会存在找不到配置文件
  3. 注意读取配置文件时,需要定义编码格式: encoding='utf-8'
原文地址:https://www.cnblogs.com/xiaohuboke/p/13618175.html