参考官方文档安装

 

pip3 install PyExecJS

代码编写

 

import execjs ctx = execjs.compile(“”” function add(x, y) { return x + y; } “””) # 获取代码编译完成后的对象 print(ctx.call(“add”, 1, 2)) # 3 # print(ctx.eval(“add({0},{1})”).format(1,2)) # 报错 print(ctx.eval(‘add(“{0}”, “{1}”)’).format(“1″,”2”)) # 12

文件读取代码编写

创建jsCode.js的文件

 

function add(x, y) { return x + y; }

执行代码

 

import execjs file = ‘jsCode.js’ ctx = execjs.compile(open(file).read()) js = ‘add(“{0}”, “{1}”)’.format(“1″,”2”) params = ctx.eval(js) print(params) # 12 params = ctx.call(‘add’,1,2) print(params) # 3

出现错误提示

UnicodeEncodeError: 'gbk' codec can't encode character xxx

解决方案一

添加encoding="utf-8"

 

ctx = execjs.compile(open(file,encoding=”utf-8″).read())
注意:运行execjs需要确保安装运行JS环境 Node.js安装部署