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如何在wicket中创建元素<a>   java如何将字节/整数转换为十六进制以雕刻文件   javajavafx:为什么不管我传递给'textArea'的是什么类型的'changeListener'都无法编译。getKeyPressedProperty()。addListener`   java自定义Listview性能不佳,Listview项名称从数据库转换   单元测试java。lang.AssertionError:响应内容   java如何使用highchart缩放条形图?   RouterFunction中的java Why谓词字段。DefaultRouterFunction<T extends ServerResponse>类获取DefaultErrorWebExceptionHandler?   java我可以用Map<String,Integer>覆盖Map<Integer,Integer>吗?   java Log4j文件已创建但为空   java无法解析JavaCV中的导入   Sun PKCS11实现的java 64位替代方案   java Hibernate与JDO makeTransient的等价物是什么   java从嵌套的switch语句退出到外部switch语句   java Android保留一个位图作为更改色调、对比度、饱和度等的源   java Mule ESB 3.5创建ws-client时出错   java数组循环将自身乘以1024   java数据库自动更新失败   java递归ConcurrentHashMap。ComputeFabSent()调用永远不会终止。Bug还是“功能”?   java是否为调用方方法中正在处理的异常执行hibernate回滚事务?