BIG阳
对我来说,这看起来像是固定宽度的格式。如果是这样,您可以这样做:data={}ss=((0,19),(20,41),(42,80))with open('/tmp/p.txt','r') as f: for n,line in enumerate(f): fields={} for i,j in ss: field=line[i:j] t=field.split(':') fields[t[0].strip()]=t[1].strip() data[n]=fields print data 印刷:{0: {'comment': 'outstanding', 'field 2': 'first', 'field 1': 'dog'}, 1: {'comment': 'some comment about the cat', 'field 2': '', 'field 1': 'cat'}}如果您想要一个列表:data=[]ss=((0,19),(20,41),(42,80))with open('/tmp/p.txt','r') as f: for n,line in enumerate(f): fields={} for i,j in ss: field=line[i:j] t=field.split(':') fields[t[0].strip()]=t[1].strip() data.append(fields) 无论哪种情况,您都可以访问:>>> data[0]['comment']'outstanding'