python如何调用js代码?

Python (225) 2023-06-25 00:05:31

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");
}
THE END

发表回复