Python读取ini配置文件

Posted CrissChan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python读取ini配置文件相关的知识,希望对你有一定的参考价值。

# -*- encoding: utf-8 -*-
import os
from configparser import ConfigParser, NoSectionError, NoOptionError, MissingSectionHeaderError

class ConfigFileParser(object): 
    def __init__(self, file=None):
        """
        初始化
        :param file: 配置文件路径,默认为根路径下ini文件
        """
        _init_err_code()
       
        self.configer = ConfigParser()
        self.file = file
        if not os.path.exists(file):
            raise FileNotFoundError("请确保配置文件存在!")
        try:
            self.configer.read(file, encoding='utf-8')
        except :
            print({"20002":"MissingSectionHeaderError,文件不符合格式或字符集编码有问题"})

    def get_value(self, title, key):
        """
        获取配置文件中的值
        :param title:
        :param key:
        :return:
        """
        # global config
        try:
            the_value = self.configer.get(title, key)
        except NoSectionError:
            print({ "20003":"NoSectionError,title没有找到"})
            the_value = "error"
        except NoOptionError
            print({ "20003":"NoSectionError,title没有找到"})
            the_value = "error"
        return the_value

    def set_value(self, title, key, value):
        """
        设置配置文件中的键值
        :param title:
        :param key:
        :param value:
        :return:
        """
        # global config
        self.configer.set(title, key, value)

    def get_config_ini(self):
        file = os.path.join(os.getcwd(), "configer.ini")
        self.configer = ConfigParser()
        if not os.path.exists(file):
            raise FileNotFoundError("请确保配置文件存在!")
        try:
            self.configer.read(file, encoding='utf-8')
        except:
            print({"20002":"MissingSectionHeaderError,文件不符合格式或字符集编码有问题"})
    def write_config_ini(self, section, option, value):
        try:
            configer = self.configer
            configer.set(section, option, value)
            configer.write(open(self.file, "w", encoding='UTF-8'))
        except:
            print("更新ini文件失败!")


class ConfigFileParserIni(ConfigFileParser):

    def __init__(self):
        """
        加载框架级配置文件configer
        """
        file = os.path.join(os.getcwd(), "configer.ini")
        super().__init__(file)

以上是关于Python读取ini配置文件的主要内容,如果未能解决你的问题,请参考以下文章

python读取ini配置文件+Scala读取配置文件

通过python读取ini配置文件

python读取/写入配置文件ini方法

请问如何用ASP读取ini配置文件

Python配置文件管理之ini和yaml文件读取

python读取ini配置文件