不知道在哪里问这个问题。我有以下类架构:
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对象获取它,并将其分配给类变量。
是否有更好,更干净的方法将所有配置文件数据放入各自的类变量中?