javascript解析器esprima的python端口。

pyesprima的Python项目详细描述


javascript解析器[esprima][1]的python端口。

为什么我不能用它?

它相当慢-解析116kjs要慢两个数量级 文件。代码是从javascript半自动翻译的,它执行 很多字符串追加,这在js中很快,但在python中很慢。

我为什么要用它?

对nodejs进程进行扩展可能是使用esprima的更好方法 来自python。但是,编写进程间数据封送处理代码有一点 烦人,所以如果你想快速破解少量数据,pyesprima 是一个很好的开始工作的方法。api完全相同,所以您可以 稍后可以轻松地交换到外部节点进程的接口。

另外,由于代码是使用[js2py][2]半自动翻译的,所以 很容易跟上时代。你甚至可以自己做。别害怕 有点烂!

API

与esprima/spidermonkey的api几乎相同:

>>> import pyesprima

>>> print pyesprima.tokenize("1 + 1")
[{'type': 'Numeric', 'value': '1'},
 {'type': 'Punctuator', 'value': '+'},
 {'type': 'Numeric', 'value': '1'}]

>>> pyesprima.parse("1 + 1", loc=True)
{'body': [{'type': 'ExpressionStatement', 'expression': {'operator': '+',
'loc': {'start': {'column': 0, 'line': 1}, 'end': ...

安装

pip install pyesprima

[1]:http://esprima.org/ [2]:https://github.com/int3/js2py

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android Espresso如何检查字符串是否缩写   java jar从cmd写入文件,但不能双击   Grails中的java onetomany映射|我可以在复合键中使用生成的值吗?   java HttpsURLConnection在尝试添加Cookie时已连接   java在Netbeans中不能有同名的包和类   如何在格式化字段自动更改无效输入(Swing)Java时触发事件   用户输入后java JTextArea未更新   java试图用新字符替换字符串中的特定字符   java类加载器在Linux上显示错误路径   java mySQL远程数据库未连接   java如果接口需要MyObject对象,如何返回错误对象?   java无法解析在MainActivity之外调用安卓类时的符号   java如何将应用程序文件正确添加到appium所需的功能?   Java中浮点数组的数据对齐算法