从Python调用外部JavaScript函数
我有一个JavaScript函数,可以用输入来调用,并返回一个结果。这个JavaScript函数可以集成到一个HTML文档中(当然可以)。
现在我想从Python中调用这个JavaScript函数。我有一个Python程序,想通过调用的Python函数把输入参数传给JavaScript函数,然后让这个JavaScript函数把结果返回给Python。
这个JavaScript函数功能比较复杂,也是在一个网页项目中使用的。我希望在Python中也能使用相同的功能。
有没有人知道怎么解决这个问题?Python的内容很庞大,所以我觉得我可能只是没有找到合适的Python模块。我已经花了两天时间在寻找解决方案。
谢谢!
2 个回答
1
我最近也遇到了类似的需求,最后是通过node来解决的。
parser.js
module.exports = {decode}; // entry for node
function decode(payload) {
var decoded = {};
// ...
console.log(JSON.stringify(decoded));
return decoded;
}
终端
node -e 'require("./parser.js").decode("foobar")'
输出:解析后的数据
caller.py
import subprocess
cmd = """node -e 'require(\"./parser.js\").decode(\"{}\")'"""
output = subprocess.check_output(cmd.format(data), shell=True)
3
pyv8 让你可以在 Python 中使用 V8 JavaScript 引擎。
如果你要用的 JavaScript 函数依赖于一些不是核心 JavaScript 的东西(比如 DOM),那么你需要找到这些东西的实现。