Python Load conf文件仅一次或按需加载

时间:2018-11-23 04:40:24

标签: python python-2.7

我的类很少,并且通过conf.ini文件使用配置。在测试类中,当我创建类的对象时,始终会为每个对象加载conf文件。它是否应该仅在开始时加载(如Java中的static)还是按需加载,即仅加载所需的conf部分。我必须像将其构建为模块一样,并且用户稍后必须将其导入其代码中。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您可以使用某些“实例”对象来实现。因此,作为示例,您可以在此处使用Singleton: Creating a singleton in Python

class Singleton(type):
    """Realization of the pattern 'Singleton'."""

    _instances = {}

    def __call__(cls, *args, **kwargs):
        """General function which return the instance."""
        if cls not in cls._instances:
            cls._instances[cls] = \
                super(Singleton, cls).__call__(*args, **kwargs)
        return cls._instances[cls]

在此之后

class Config(Configuration):
    __metaclass__ = Singleton
    pass

这里Configuration-您的带有配置的课程。