我正在使用Python的CLI工具。我在JSON中有一个大结构文件,我通过DataStructure
类解析。
一旦完成,它会在项目中所有类之间传递此对象。这有点烦人,我想知道是否有人知道如何像logging
库那样使用logging.getLogger()
来引用对象。
答案 0 :(得分:1)
只需创建一个模块,例如名为data
,并在其中定义一个返回全局变量的函数。例如,data.py
:
_impl = None
def get():
if _impl is None:
_impl = SomethingThatMakesTheData()
return _impl
然后,您可以import data
和data.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