将文本拆分为带有pyparsing

时间:2015-07-22 13:12:17

标签: python parsing pyparsing lyx

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

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

请解释如何操作。

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

1 个答案:

答案 0 :(得分:2)

以下似乎解决了这个任务:

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)