Python利用PyExecJS模块执行JS代码

21次阅读
没有评论

共计 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。但是,需要做好安装和配置复杂的准备。

正文完
post-qrcode
 0
三毛
版权声明:本站原创文章,由 三毛 于2024-01-05发表,共计814字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)