获取对getLogger

时间:2017-05-31 12:19:27

标签: python python-2.7 logging

我正在使用Python的CLI工具。我在JSON中有一个大结构文件,我通过DataStructure类解析。

一旦完成,它会在项目中所有类之间传递此对象。这有点烦人,我想知道是否有人知道如何像logging库那样使用logging.getLogger()来引用对象。

2 个答案:

答案 0 :(得分:1)

只需创建一个模块,例如名为data,并在其中定义一个返回全局变量的函数。例如,data.py

_impl = None

def get():
    if _impl is None:
        _impl = SomethingThatMakesTheData()
    return _impl

然后,您可以import datadata.get()从您需要的任何地方开始。

答案 1 :(得分:1)

import json
class DataStructure:

    @classmethod
    def parsinglogic(cls):
        ##Define JSON parsing logic here
        data=json.loads('filename')
        return data

DataStructure.parsinglogic()可用于调用JSON解析器。每次调用它时,都会读取JSON文件。

而是创建实例方法和实例变量来存储值并将其传递给其他类。

import json
class DataStructure:
    def __init__(self,data=None):
        self.data=data

    def parsinglogic(self):
        ##Define JSON parsing logic here
        self.data=json.loads('filename')
        return self.data


d=DataStructure()
data=d.parsinglogic()
#Pass this data to the other classes