我正在寻找一种从python函数调用js函数的方法。我来找你,因为我也需要我的js函数来使用DOM,所以pyv8例如不是解决方案..你们有什么想法吗?它甚至可能吗?
提前致谢。
答案 0 :(得分:5)
PyExecJS似乎是个不错的选择。
>>> import execjs
>>> execjs.eval("'red yellow blue'.split(' ')")
['red', 'yellow', 'blue']
>>> ctx = execjs.compile("""
... function add(x, y) {
... return x + y;
... }
... """)
>>> ctx.call("add", 1, 2)
3
安装:
$ pip install PyExecJS
答案 1 :(得分:4)
根据https://stackoverflow.com/a/30537286/6353933,
import js2py
js = """
function escramble_758(){
var a,b,c
a='+1 '
b='84-'
a+='425-'
b+='7450'
c='9'
document.write(a+c+b)
}
escramble_758()
""".replace("document.write", "return ")
result = js2py.eval_js(js) # executing JavaScript and converting the result to python string
Js2Py的优点包括可移植性和与python的极其简单的集成(因为基本上JavaScript正被转换为python)。
安装:
pip install js2py