python中如何调用js文件中的方法呢
茶什i
2020-02-24 10:14:32
一般的js文件在python中很好调用,但是当js中存在闭环的时候,python中为什么怎么调用都不行呢,哪位大牛帮帮我,万分感激。js代码如下:(function($w) {if(typeof $w.RSAUtils === 'undefined') var RSAUtils =$w.RSAUtils ={};RSAUtils.add_e = function(a, b){ return a+b;};})(window);python中调用该js中方法的代码如下:import execjsdef test_add(a, b): f = open("test.js").read().decode('utf-8') ctx =execjs.compile(f) print ctx.call('RSAUtils.add_e', a, b)test_add(1, 3)运行python脚本后,一直提示错误,错误信息如下:Traceback (most recent call last): File "C:/Users/w00396235/PycharmProjects/untitled/test.py", line 49, in test_add(1, 3) File "C:/Users/w00396235/PycharmProjects/untitled/test.py", line 40, in test_add print ctx.call('add_e', a, b) File "C:\Python27\lib\site-packages\execjs\_abstract_runtime_context.py", line 37, in call return self._call(name, *args) File "C:\Python27\lib\site-packages\execjs\_external_runtime.py", line 87, in _call return self._eval("{identifier}.apply(this, {args})".format(identifier=identifier, args=args)) File "C:\Python27\lib\site-packages\execjs\_external_runtime.py", line 73, in _eval return self.exec_(code) File "C:\Python27\lib\site-packages\execjs\_abstract_runtime_context.py", line 18, in exec_ return self._exec_(source) File "C:\Python27\lib\site-packages\execjs\_external_runtime.py", line 83, in _exec_ return self._extract_result(output) File "C:\Python27\lib\site-packages\execjs\_external_runtime.py", line 165, in _extract_result raise exceptions.ProgramError(value)execjs._exceptions.ProgramError
分享到