共计 814 个字符,预计需要花费 3 分钟才能阅读完成。
PyExecJS
使 Python 能够运行 JS 代码,底层实现方式是:在本地 JS 环境下运行 JS 代码。
安装 PyExecJS 模块:pip install PyExecJS
可以选择用 Node.js 作为 JS 运行环境,Node.js 官网:https://nodejs.org/
验证 JS 引擎:
import execjs
print(execjs.get().name) # Node.js (V8)
简单使用
test.js 文件:
function func(age) {return age + 1}
run.py 文件:
import execjs
with open("test.js", encoding="utf-8") as f:
js_file = f.read()
# 编译 JS 代码,返回上下文对象 ctx
ctx = execjs.compile(js_file)
# call 方法,第一个参数是函数名,后面接参数
r = ctx.call("func", 18)
print(r) # 19
execjs.eval 可以直接运行 JS 代码并得到结果:
import execjs
js = "'2024-01-01'.split('-')"
r = execjs.eval(js)
print(r) # ['2024', '01', '01']
PyV8
也可以使用 PyV8 库在 Python 中运行 JavaScript 代码,PyV8 提供了对 V8 JavaScript 引擎的访问。V8 JavaScript 引擎是 Google 开发的 JavaScript 引擎,也是 Chrome 浏览器的 JavaScript 引擎。
对于大多数用户来说,PyExecJS 是一个更好的选择。它安装和配置简单,文档和示例丰富,支持多种 JavaScript 引擎。虽然它的速度和性能不如 PyV8,但对于大多数应用来说已经足够了。
如果需要运行速度快、性能好的 JavaScript 代码,并且需要使用最新的 JavaScript 语法和特性,那么可以使用 PyV8。但是,需要做好安装和配置复杂的准备。
正文完