Я написал это, чтобы разобрать мой собственный файл .dotf:
def parseFromDOTF(file_path):
comment = "%" + restOfLine
typeToken = CaselessKeyword("@TYPE")
attrToken = CaselessKeyword('@ATTRIBUTE')
ident = Word(alphas,alphanums)
type = Suppress(typeToken) + ident
columnList = Group(delimitedList(nums))
attribute = Group(Suppress(attrToken) + ident("attribute") + columnList("column"))
DOTF = type('type') + OneOrMore(attribute)("attributes")
DOTF.ignore(comment)
return DOTF.parseFile(file_path)
ниже приведен пример файла .dotf
%a comment
@TYPE NORMAL
@ATTRIBUTE id 0
@ATTRIBUTE values 1,2,3,4
@ATTRIBUTE class 5
но с этим что-то не так:
pyparsing.ParseException: Expected "0123456789" (at char 79), (line:3, col:15)
15-й столбец строки 3 - это пробел, не так ли?
так, что не так?
спасибо!