Я новичок в python. Похоже, что многие люди сталкиваются с подобным типом ошибки. Решения ошибок других людей не решают мою ошибку. Почему я получаю эту ошибку и как ее исправить? Thank. make_ json .py ", строка 169, in (headerList, headers) = файл readHeaders (args.hdr_file)" /home3/grad3/kpatel3/new_parser-gen/lib/python/HeaderLib.py ", строка 445, в readHeaders from_fields = item.next_header.mapping.from_header.asList () AttributeError: у объекта 'str' нет атрибута 'from_header' make: *** [../examples/headers-datacenter.json] Ошибка 1 * Вот моя часть кода:
class HeaderInfo:
"""Simple class for returning header info"""
def __init__(self, length, lenIsVar, matchBytes, match):
self.length = length
self.lenIsVar = lenIsVar
self.matchBytes = matchBytes
self.match = match
class HeaderInfoAll:
"""Simple class for returning header info for all length/match combos"""
def __init__(self, lenIsVar, lenBytes, lenMatch, lengths, nxtHdrBytes, nxtHdrMatch, nxtHdrs, defNxtHdrVal):
self.lenIsVar = lenIsVar
self.lenBytes = lenBytes
self.lenMatch = lenMatch
self.lengths = lengths
self.nxtHdrBytes = nxtHdrBytes
self.nxtHdrMatch = nxtHdrMatch
self.nxtHdrs = nxtHdrs
self.defNxtHdrVal = defNxtHdrVal
hdrLengths = {}
def readHeaders(filename):
"""Read all of the headers from a file"""
fh = open(filename)
data = fh.read()
fh.close()
parser = getHeaderBNF()
intRE = re.compile(r'^\d+$')
opRE = re.compile(r'^[+\-*]|<<|>>$')
refCounts = {}
headerList = []
headers = {}
for item in parser.parseString(data, True):
if item.hdr not in headers:
hdr = Header(item.hdr)
headerList.append(hdr)
headers[item.hdr] = hdr
if item.fields != '':
for fieldData in item.fields:
(name, width) = fieldData[0:2]
if width == '*':
width = None
else:
width = int(width)
hdr.addField(name, width)
if len(fieldData) == 3:
hdr.addExtractField(name)
if item.next_header != '':
if item.next_header.field != '':
hdr.setNextHeader(str(item.next_header.field))
else:
from_fields = item.next_header.mapping.from_header.asList()
Кто-нибудь может помочь?