【发布时间】:2010-11-23 09:23:27
【问题描述】:
我在 Google App Engine 文档中看到 http://www.antlr.org/Antlr3 被用作解析第三方库。
但据我所知,Pyparsing 似乎更易于使用,我的目标只是解析一些简单的语法。
还有其他选择吗?我可以在 App Engine 上使用 pyparsing 吗?
【问题讨论】:
标签: python google-app-engine pyparsing
我在 Google App Engine 文档中看到 http://www.antlr.org/Antlr3 被用作解析第三方库。
但据我所知,Pyparsing 似乎更易于使用,我的目标只是解析一些简单的语法。
还有其他选择吗?我可以在 App Engine 上使用 pyparsing 吗?
【问题讨论】:
标签: python google-app-engine pyparsing
为了这个目的,Pyparsing 的运行时占用空间是故意很小的。它是一个单一的源文件,pyparsing.py,所以只需将它放在您自己的源文件中并解析!
-- 保罗
【讨论】:
“就这么做”!-) 获取 pyparsing.py,例如来自here,并将其放在您的应用引擎应用程序目录中;现在您可以在您的应用代码中使用import pyparsing 并使用它。
例如,将 here 中的 greeting.py 调整为:
from pyparsing import Word, alphas
greet = Word( alphas ) + "," + Word( alphas ) + "!" # <-- grammar defined here
hello = "Hello, World!"
print "Content-type: text/plain\n"
print hello, "->", greet.parseString( hello )
在handlers: 下的两行添加到您的 app.yaml:
- url: /parshello
script: greeting.py
启动您的应用程序,访问http://localhost:8083/parshello(或您正在运行的任何端口;-),您将在浏览器中看到纯文本输出:
Hello, World! -> ['Hello', ',', 'World', '!']
【讨论】: