我有一个函数,它接收一些数据并将其组织到不同的容器中。这是由不同输入数据的不同解析器完成的
class ParsingObject(object):
def __init__(self):
self.organized_data_1 = OrganizedContainer1()
self.organized_data_2 = OrganizedContainer2()
self.organized_data_3 = OrganizedContainer3()
def parse_data(format, data):
if format == 'format1':
# Some code that takes data, and populate containers
self.organized_data_1 = x
self.organized_data_2 = y
self.organized_data_3 = z
if format == 'format2':
# Some code that takes data, and populate containers differently
self.organized_data_1 = y
self.organized_data_2 = z
self.organized_data_3 = x
我想将所有解析器存储在一个单独的文件中,然后将它们导入parse_data函数
函数需要访问实例变量(有组织的数据)才能填充它们
class ParsingObject(object):
def __init__(self):
self.organized_data_1 = OrganizedContainer1()
self.organized_data_2 = OrganizedContainer2()
self.organized_data_3 = OrganizedContainer3()
def parse_data(format, data):
import .parsers
if format == 'format1': parsers.parser1(data)
if format == 'format2': parsers.parser2(data)
解析器是这样的
def parser1(data):
self.organized_data_1 = x
self.organized_data_2 = y
self.organized_data_3 = z
我希望将解析器放在另一个函数中,以使添加额外的解析器更加方便,并防止主对象中出现混乱。我应该把对象传递给解析器吗
def parser1(self,data):
self.organized_data_1 = x
self.organized_data_2 = y
self.organized_data_3 = z
还是有别的办法?如果我这样设置,我最终会得到循环模块导入
目前没有回答
相关问题 更多 >
编程相关推荐