python 调用js
2021-09-10 本文已影响0人
王国的荣耀
使用js2py时发现python调用js方法之后计算的结果与直接调用的js结果不一样。
排除所有的问题之后,切换对应的pyhon与js交互库:由原来的js2py修改为execjs,问题解决。
import js2py
with open("test_demo.js", 'r', encoding='utf8') as f:
test_demo = f.read()
js = js2py.EvalJs()
js.execute(test_demo)
sign = js.call_demo(data)
修改为execjs
import execjs
def get_web_result(self, data):
try:
with open("web_result.js", 'r', encoding='utf8') as f:
web_result = f.read()
exec_js = execjs.compile(web_result)
result = exec_js.call('call_demo', data)
print('result: {}'.format(result))
return result
except Exception as reason:
print(reason)
return None