使用 pyparsing 将文本拆分成行

Splitting text into lines with pyparsing

我正在编写我的第一个使用 pyparsing 的程序。

我想解析一个文件,其中以“\n”结尾的每一行都是一个标记。

请说明如何操作。

事实上,我需要解析.lyx 文件。 .lyx 文件的一个示例:https://github.com/nicowilliams/lyx/blob/master/lib/examples/Braille.lyx

看来解决任务如下:

import sys
import pyparsing # parsley

all_files = sys.argv[1:]

if not all_files:
    print "Usage: DuplicateRefs.py FILE.lyx ...\n"
    sys.exit(1)

def mylambda(tok):
    print tok

parser = pyparsing.ZeroOrMore(pyparsing.CharsNotIn("\n").setParseAction(mylambda) + pyparsing.White("\n"))

for file in all_files:
    parser.parseFile(file)