我想实现以下逻辑:
class FileType01(object):
....
file_in = FileType01('input.txt')
for line in file_in:
print(line.prop1)
print(line.prop2)
print(line.prop3)
我想要的是构造这个类,在dict中使用一组硬编码的片段,并使用一个迭代器 每次生成一个具有3个属性(prop1、prop2、prop3)的对象,这些属性将以字符串形式包含切片的值
我只使用一个迭代器来实现它,迭代器填充dict并生成dict,您对如何生成实例化的类对象有什么建议吗
这是我的示例代码,提前谢谢你
class FileType01(object):
def __init__(self, file_in):
self.filename = file_in
def line_struct(self):
dict_out = {}
prop_struct = {
'prop1' : ( 0, 10 ),
'prop2' : ( 11, 15 ),
'prop3' : ( 16, 3)
}
prop1 = ''
prop2 = ''
prop3 = ''
with open(self.filename, 'r') as f:
for line in f:
dict_out['prop1'] = line[int(prop_struct['prop1'][0]):int(prop_struct['prop1'][1])]
dict_out['prop2'] = line[int(prop_struct['prop2'][0]):int(prop_struct['prop2'][1])]
dict_out['prop3'] = line[int(prop_struct['prop3'][0]):int(prop_struct['prop3'][1])]
yield dict_out
file_in = FileType01('input.txt')
for line in file_in.line_struct():
# this works
print(line.['prop1'])
# this is what i would like:
print(line.prop2)
目前没有回答
相关问题 更多 >
编程相关推荐