Python调用js代码的方法是使用第三方库pyexecjs,可以使用python操作javascript代码。
实现方式:
在本地 JS 环境下运行 JS 代码
PS:支持的 JS 环境包含:Node.js、PyV8、PhantomJS、Nashorn 等
1.安装依赖包 PyExecJS
//py_exec_js_demo.py //安装依赖 pip3installPyExecJS
2.从 JS 读取文件中的源码
defjs_from_file(file_name): """ 读取js文件 :return: """ withopen(file_name,'r',encoding='UTF-8')asfile: result=file.read() returnresult
3.使用 execjs compile()编译加载上述方法 JS 字符串,返回上下文对象
importexecjs fromjs_codeimport* #加载js字符串编译 context1=execjs.compile(js_from_file('./norm.js'))
4.调用上下文对象的call() 方法执行 JS方法参数包括:JS 代码调整的方法名和相应方法的输入参数
#在js代码中调用add()方法,参数为2和3 #方法名:add #参数:2和3 result1=context1.call("add",2,3) print(result1)
需要注意的是,如果js代码返回的字符串有特殊字符,可能会出错。
解决方案:在返回之前,将字符串编码到base64。
functiona(str){ returnnewBuffer(str).toString("base64"); }