python执行js代码

简介: 本文档详细介绍如何安装Node.js环境及PyExecJS库,并提供示例代码展示其功能。首先,通过指定链接安装Node.js,安装完毕后可在命令行中输入`node --version`来验证安装是否成功。接着,使用`pip install PyExecJS`安装PyExecJS库,该库允许Python程序执行JavaScript代码。文档还提供了多个示例代码,展示了如何在Python环境中执行和编译JavaScript代码,并可以选择特定的JavaScript运行时环境,如Node.js或JScript。最后,通过具体案例展示了PyExecJS的功能与使用方法。

一. 安装node.js环境
安装NodeJS
下载: http://nodejs.cn/download/
安装: https://www.runoob.com/nodejs/nodejs-install-setup.html

测试安装成功可在控制台输入:node --version

二. 安装PyExecJS
源:https://pypi.org/project/PyExecJS/

安装:pip install PyExecJS

查看执行JS的环境:

import execjs

返回:JScript,是windows 默认执行JS的环境

返回:Node.js (V8),是NodeJS环境

print(execjs.get().name)
三. 案例
2.1 一个简短的案例:

import execjs
print(execjs.eval("'red yellow blue'.split(' ')"))
ctx = execjs.compile("""
function add(x, y) {
return x + y;
}
""")
print(ctx.call("add", 1, 2))
2.2 可以通过 get() 函数选择特定的JavaScript运行时

import execjs

default = execjs.get() # the automatically picked runtime
print(default.eval("1 + 2"))

jscript = execjs.get("JScript")

print(default.eval("1 + 2"))

node = execjs.get("Node")
print(node.eval("1 + 2"))
2.3 先编译、后调用

import execjs

直接执行

print('execjs.eval:', execjs.eval(' "a、b、c、d、e".split("、") '))

先编译、后调用

将js文件中的内容读取出来编译即可调用里面的方法了

js_compile = execjs.compile(
"""
function add(x, y) {
return x + y;
}
"""
)

eval_str = "js_compile.call('add', '{}', '{}')".format('abc', 123)
print('eval执行的语句:', eval_str)
print('eval:', eval(eval_str))

print('execjs.compile().call():', js_compile.call('add', 'abc', 123))

执行结果如下:

//代码效果参考:http://www.intpipe.com/sitemap/post.html
//代码效果参考:http://www.ningluan.com/sitemap/post.html
//代码效果参考:https://www.yopian.com/sitemap/post.html
//代码效果参考:http://www.92demo.com/sitemap/post.html在这里插入图片描述![4b0f5623905c8a1c4bfc4146f2dd1018_ptvreo2i7i3qe_7b58363ddbbb42b58017af7ce179b30f_x-oss-process=image%2Fresize%2Cw_1400%2Fformat%2Cwebp.png](https://ucc.alicdn.com/pic/developer-ecology/kgmh2cwvierzy_e5d4e2aa23504f199dbf3294a2d52326.png)

相关文章
|
3月前
|
存储 算法 调度
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
【复现】【遗传算法】考虑储能和可再生能源消纳责任制的售电公司购售电策略(Python代码实现)
201 26
|
3月前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
366 1
|
3月前
|
机器学习/深度学习 算法 调度
基于多动作深度强化学习的柔性车间调度研究(Python代码实现)
基于多动作深度强化学习的柔性车间调度研究(Python代码实现)
194 1
|
2月前
|
测试技术 Python
Python装饰器:为你的代码施展“魔法”
Python装饰器:为你的代码施展“魔法”
258 100
|
2月前
|
开发者 Python
Python列表推导式:一行代码的艺术与力量
Python列表推导式:一行代码的艺术与力量
418 95
|
3月前
|
Python
Python的简洁之道:5个让代码更优雅的技巧
Python的简洁之道:5个让代码更优雅的技巧
261 104
|
3月前
|
开发者 Python
Python神技:用列表推导式让你的代码更优雅
Python神技:用列表推导式让你的代码更优雅
460 99
|
2月前
|
缓存 Python
Python装饰器:为你的代码施展“魔法
Python装饰器:为你的代码施展“魔法
156 88
|
3月前
|
IDE 开发工具 开发者
Python类型注解:提升代码可读性与健壮性
Python类型注解:提升代码可读性与健壮性
283 102
|
2月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。