我想用python执行JavaScript代码,使用了MSScriptControl.ScriptControl组件,但是在添加执行代码的时候老是报错,不知道什么原因。代码如下:
#! /usr/bin/env python # coding=utf-8 import win32com.client def readJsFile(filename): fp = file( filename,'r' ) lines = "" for line in fp: lines += line return lines if __name__ == '__main__': code=readJsFile('test.js') js = win32com.client.Dispatch('MSScriptControl.ScriptControl') js.Language = 'JavaScript' js.AllowUI = False js.AddCode(code)#这条代码一直报错
错误信息:
Traceback (most recent call last):
File "C:UsersAdministratorDesktopjs_encry.py", line 16, in <module>
js.AddCode(code)
File "<COMObject MSScriptControl.ScriptControl>", line 2, in AddCode
com_error: (-2147352567, 'xb7xa2xc9xfaxd2xe2xcdxe2xa1xa3', (0, u'Microsoft JScript u8fd0u884cu65f6u9519u8bef', u"'aa' u672au5b9au4e49", None, 0, -2146823279), None)
我尝试在test.js文件里面只放一条简单的代码,例如var a=11,程序不会报错,然后我把var a=11改成aaa这样一条没有意义的代码,程序又报错了。我在想js.AddCode(code)在添加代码的时候,是不是会检查code里面代码的语法?这种错误有什么解决的办法?