使用pyparsing将文本拆分成行 [英] Splitting text into lines with pyparsing

查看:60
本文介绍了使用pyparsing将文本拆分成行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I am writing my first program which uses pyparsing.

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

I want to parse a file where each line ended by "\n" is a token.

请解释如何操作.

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

In fact, I need to parse .lyx files. One example of a .lyx file: 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)

这篇关于使用pyparsing将文本拆分成行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆