Analizar datos de línea hasta palabra clave con pyparsing

Estoy tratando de analizar datos de línea y luego agruparlos en la lista.

Aquí está mi guión:

from pyparsing import *

data = """START
line 2
line 3
line 4
END
START
line a
line b
line c
END
"""

EOL = LineEnd().suppress()
start = Keyword('START').suppress() + EOL
end = Keyword('END').suppress() + EOL

line = SkipTo(LineEnd()) + EOL
lines = start + OneOrMore(start | end | Group(line))

start.setDebug()
end.setDebug()
line.setDebug()

result = lines.parseString(data)
results_list = result.asList()

print(results_list)

Este código fue inspirado por otra pregunta de stackoverflow:Emparejar líneas no vacías con pyparsing

Lo que necesito es analizar todo, desde INICIO hasta FINAL línea por línea y guardarlo en una lista por grupo (todo, desde INICIO hasta FINAL coincidente es un grupo). Sin embargo, este script coloca cada línea en un nuevo grupo.

Este es el resultado:

[['line 2'], ['line 3'], ['line 4'], ['line a'], ['line b'], ['line c'], ['']]

Y quiero que sea:

[['line 2', 'line 3', 'line 4'], ['line a', 'line b', 'line c']]

También analiza una cadena vacía al final.

Soy un principiante de pyparsing, así que te pido tu ayuda.

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta