Python 如果模块本身正在运行,则添加本地导入语句
我有一个在我的web应用程序中使用的类,它的参数是从用户传入的。让我们以这个例子为例:Python 如果模块本身正在运行,则添加本地导入语句,python,python-2.7,module,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 现在我需要在headless模式下创建该类的实例(这样我就可以通过Je
class SomeObject():
def __init__(self, param1, param2, logger_object):
logger_object.log("init...")
self.param1 = param1
self.param2 = param2
现在我需要在headless模式下创建该类的实例(这样我就可以通过Jenkins自动运行它)
所以我知道我可以用这个:
if __name__ == "__main__":
logger = initialising logger # question about this later
param1 = "param1"
param2 = "param2"
some_object = SomeObject(param1, param2, logger)
我的问题是:
这是正确的方法吗?或者我最好创建一个不同的类并从某个对象继承
此外,当前文件不导入记录器模块,因为它通常不需要它。我不想无缘无故地导入该模块,因此我认为可能会这样做:
if __name__ == "__main__":
from logger.location import logger
logger = logger()
param1 = "param1"
param2 = "param2"
some_object = SomeObject(param1, param2, logger)
但我不确定这是否也被推荐。想法/想法?如果这是一个脚本,从另一个模块导入
SomeObject
,然后创建一个实例,那么这将不是问题。为什么你不能这样做呢?看起来它在同一个文件中更可读。但这就是我最后做的