如何使用Python的configparser处理大型.ini文件?

时间:2019-11-11 16:33:45

标签: python python-3.x config

不知道在哪里问这个问题。我有以下类架构:

df.apply

此对象在创建时采用一个参数,该参数指定将由ConfigParser加载的配置文件。如果未指定配置文件路径,则它将在与类文件相同的目录中查找。配置文件如下所示:

import os
from configparser import ConfigParser, ExtendedInterpolation


class MyFancyObject:
    def __init__(self, config_file_path):
        if config_file_path is None:
            self.__config_file_path = os.path.join(os.path.dirname(__file__), 'default_config.ini')
        else:
            self.__config_file_path = config_file_path

        self.__config = ConfigParser(interpolation=ExtendedInterpolation())

        self.__variable_a = self.__config.get('my_data', 'a_variable')
        self.__variable_b = self.__config.get('my_data', 'b_variable')
        self.__variable_c = self.__config.get('my_data', 'c_variable')
        self.__variable_d = self.__config.get('my_data', 'd_variable')
...

当然,这只是一个解决问题的例子。我的问题是,使用这种体系结构时,如果配置文件越来越大,则会放置很多代码来设置各个类变量的值,因为对于config .ini文件中的每个条目,您都必须从configparser对象获取它,并将其分配给类变量。

是否有更好,更干净的方法将所有配置文件数据放入各自的类变量中?

0 个答案:

没有答案