1. 程式人生 > >Python呼叫JS

Python呼叫JS

js2py雖然很方便,但是有時候程式碼會報錯。

PyV8例子

import PyV8

ctxt = PyV8.JSContext()
ctxt.enter()
test=ctxt.eval("""
(function(p){
    function abc(t) {
        return "hello,"+t;
    }
    return abc(p);
})
""")
if __name__ == "__main__":
    print(test('world'))

輸出

hello,world

但是傳python字典給js的函式,似乎沒有用。不過可以json.dumps(dict) 傳給js函式,js函式再JSON.parse(json_str)。

pyv8自帶的這種方法很奇怪,有的函式執行會得到和真正js不一樣的結果,但是PyExecJS走PyV8就沒有這種問題,真是奇怪。