当前位置: 首页 > 图灵资讯 > 行业资讯> python怎样运行js语句

python怎样运行js语句

来源:图灵python
时间: 2025-03-14 17:55:38

1. 安装

pipinstallPyExecJS#需注意的是,包的名称:PyExecJS

2. 简单使用

importexecjs
execjs.eval("newDate")
2018-04-04T12返回值:53:17.759Z
execjs.eval("Date.now()")
返回值为:15284701080#需要注意的是,返回值为13位,不同于python的time.time()

需要注意的是: 个别JS语句, execjs返回的结果与浏览器环境返回的结果不同, 以下是浏览器环境返回的结果:

d936ca89ea110be22560a065e886aba.png

3. 调用函数

#实际生产中处理的js有几百行,不方便贴上去。看看源代码中给出的例子:
ctx=execjs.compile("""
functionadd(x,y){
returnx+y;
}
""")
ctx.call("add",1、2)#第一个参数“add“字符串是JS函数名,后面是实参
返回值:3

execjs的使用非常简单, 让我们来看看执行JS的环境, 以及性能:

4. 执行JS环境

execjs可以在windows上运行,无需其他依赖, 其他JS环境也可以调用

Windows默认执行JS环境
execjs.get().name
返回值:JScript
作者自己的windows上装有Node.js,因此返回值是不同的
execjs.get().name
返回值:Node.js(V8)

JS环境依赖需要在ubuntu下安装, 作者的环境是PhantomJS

execjs.get().name
返回值:PhantomJS

给出源码, execjs可执行环境:

PyV8="PyV8"
Node="Node"
JavaScriptCore="JavaScriptCore"
SpiderMonkey="SpiderMonkey"
JScript="JScript"
PhantomJS="PhantomJS"
SlimerJS="SlimerJS"
Nashorn="Nashorn"

没有JS环境会在ubuntu环境中报错:Could not find an available JavaScript runtime. 因此,execjs需要在ubuntu安装JS环境 。需要根据具体需要安装具体的JS环境, 不得超过上述8种。

5.环境切换

通过os.environ

os.environ["EXECJS_RUNTIME"]="Node"
execjs.get().name
execjs.eval("1+2")

通过execjs.get 切换

jscript=execjs.get(execjs.runtime_names.JScript)#runtime_names是execjs源码中给出的执行环境。
execjs.runtime_names.xxxxxxxx必须在上一节#3中取出
jscript.eval("1+2")

注: 切换环境时, 当环境不存在时,就不会报错, 会使用默认环境。 另外需要注意的是, 两种方法的区别

6. 性能分析简单

#简单尝试了三种,在windows下
importexecjs
importos
importtime
#首先使用JScript
os.environ["EXECJS_RUNTIME"]="JScript"
printexecjs.get().name
time1=time.time()
foriinrange(100):
execjs.eval("newDate")
printtime.time()-time1
#Nodejss用于切换环境
os.environ["EXECJS_RUNTIME"]="Node"
printexecjs.get().name
time2=time.time()
forlinrange(100):
execjs.eval("newDate")
printtime.time()-time2
#印刷结果如下:
JScript
4.70900011063
Node.js(V8)
27.501999855
#PhantoJS在ubuntu下进行了测试,结果高达30+S

python培训视频众多,全部在python学习网,欢迎在线学习!

上一篇:

python的字体如何调整

下一篇:

返回列表