如果模块本身正在运行,则添加本地import语句

时间:2018-04-30 14:05:40

标签: python python-2.7 module

我有一个在我的Web应用程序中使用的类,其中包含从用户传入的参数。让我们举个例子:

class SomeObject():
    def __init__(self, param1, param2, logger_object):
        logger_object.log("init...")
        self.param1 = param1
        self.param2 = param2

现在我需要选择在无头模式下创建该类的实例(因此我可以通过Jenkins自动运行它)。

所以我知道我可以使用它:

if __name__ == "__main__":
    logger = initialising logger # question about this later
    param1 = "param1"
    param2 = "param2"
    some_object = SomeObject(param1, param2, logger)

我的问题是: 这是正确的/ pythonic方式吗?或者我最好创建一个不同的类并继承SomeObject?

此外,当前文件不会导入记录器模块,因为通常它不需要它。我不想无缘无故地导入该模块,所以我想可能会这样做:

if __name__ == "__main__":
    from logger.location import logger
    logger = logger()
    param1 = "param1"
    param2 = "param2"
    some_object = SomeObject(param1, param2, logger)

但我不确定这是否也是推荐的。思考/想法?

0 个答案:

没有答案