v8是chrome用来执行javascript的引擎,据说是最快的js引擎,通过pyv8的封装,可以在python中使用。
1.安装pyv8 (Mac OS)
-
mkdir pyv8
-
cd pyv8
-
wget
-
unzip pyv8-osx.zip
-
touch __init__.py
-
rm *.zip
-
cd ..
2. 这里有pyv8的文档和说明
3.小例子:把javascript的字典转换成json格式,方便python使用
-
from pyv8 import PyV8
-
-
def get_ctx():
-
if not hasattr(get_ctx, 'ctx'):
-
ctx = PyV8.JSContext()
-
ctx.enter()
-
get_ctx.ctx = ctx
-
return get_ctx.ctx
-
-
def js2json(data):
-
""" convert from javascript data
-
to json data
-
"""
-
ctx = get_ctx()
-
fret = ctx.eval("""
-
function func() {
-
var data = """ + data + """;
-
var json_data = JSON.stringify(data);
-
return json_data;
-
}
-
""")
-
-
jsond = ctx.locals.func()
-
return jsond
-
-
jsond = js2json("""
-
who: 'john',
-
age: 28,
-
""")
-
import json
-
js = json.loads(jsond)
欢迎大家提供更多有趣的小例子。
阅读(4756) | 评论(0) | 转发(0) |