python 3.4下的欧芹解析器无法正常工作

时间:2014-04-17 21:34:57

标签: python parsing package peg

我是Python的新手,但我想解析一些文本文件(VCard * .vcf),我偶然发现了Allen Short的Parsley。然而它似乎不能在新的Python3.4下工作,是否有工作版本? 我有来自pypi.python.org的版本 顺便说一句:由于许多其他有这个名字的项目,欧芹名声不好...... 有自述的例子......

from parsley import makeGrammar
exampleGrammar = """
ones = '1' '1' -> 1
twos = '2' '2' -> 2
stuff = (ones | twos)+
"""
Example = makeGrammar(exampleGrammar, {})
g = Example("11221111")
result = g.stuff()
print (result)

运行后返回:

SyntaxError: multiple statements found while compiling a single statement

EDIT 2014.06.12 我找到了解决方案,pip安装了旧版Parsley。在github上有?fork,它在Python 3.X https://github.com/vsajip/parsley

下工作

1 个答案:

答案 0 :(得分:0)

您想生成VCard解析器还是使用VCard解析器?如果是后者,你最好使用现有的python VCard解析器,例如vobject https://pypi.python.org/pypi/vobject