• 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'
  • 相关阅读:
    Reference Counting GC (Part two :Partial Mark & Sweep)
    Reference Counting GC (Part one)
    Union File System
    Linux Cgroups
    Mark Sweep GC
    取模运算
    负数取模怎么算
    牛客【2021寒假集训营第一场】J-一群小青蛙呱蹦呱蹦呱
    记codeforces一个简单模拟题
    筛法求素数
  • 原文地址:https://www.cnblogs.com/xiaohuboke/p/13618175.html
Copyright © 2020-2023  润新知