pywin32使用win32com出现SyntaxError
例如运行例子win32com/test/testAccess.py
F:/Python24/Lib/site-packages/win32com/test>testAccess.py
Traceback (most recent call last):
File "F:/Python24/Lib/site-packages/win32com/test/testAccess.py", line 167, in
...
...
...
File "F:/Python24/Lib/site-packages/win32com/client/gencache.py", line 629, in
_GetModule
mod = __import__(mod_name)
File "F:/Python24/lib/site-packages/win32com/gen_py/00025E01-0000-0000-C000-00
0000000046x0x4x0.py", line 785
class Errors(DispatchBaseClass):
^
SyntaxError: invalid syntax
查看代码没有问题,不过看到文件头有个编码指示:
# -*- coding: mbcs -*-
怀疑与编解码有关,试着删除这一行竟好了。
查到相同的错误现象:
http://www.thescripts.com/forum/thread45915.html
看来是Python2.4.1的编码问题,升到Python2.4.2以上就应该没问题了。
Python的Bug报告:
http://sourceforge.net/tracker/index.php?func=detail&aid=1163244&group_id=5470&atid=105470
pywin32的Bug报告:
http://sourceforge.net/tracker/index.php?func=detail&aid=1085454&group_id=78018&atid=551954
注掉genpy.py的mbcs编码行是一个临时的解决办法.
(转载请注明来源于 金庆的专栏)
例如运行例子win32com/test/testAccess.py
F:/Python24/Lib/site-packages/win32com/test>testAccess.py
Traceback (most recent call last):
File "F:/Python24/Lib/site-packages/win32com/test/testAccess.py", line 167, in
...
...
...
File "F:/Python24/Lib/site-packages/win32com/client/gencache.py", line 629, in
_GetModule
mod = __import__(mod_name)
File "F:/Python24/lib/site-packages/win32com/gen_py/00025E01-0000-0000-C000-00
0000000046x0x4x0.py", line 785
class Errors(DispatchBaseClass):
^
SyntaxError: invalid syntax
查看代码没有问题,不过看到文件头有个编码指示:
# -*- coding: mbcs -*-
怀疑与编解码有关,试着删除这一行竟好了。
查到相同的错误现象:
http://www.thescripts.com/forum/thread45915.html
看来是Python2.4.1的编码问题,升到Python2.4.2以上就应该没问题了。
Python的Bug报告:
http://sourceforge.net/tracker/index.php?func=detail&aid=1163244&group_id=5470&atid=105470
pywin32的Bug报告:
http://sourceforge.net/tracker/index.php?func=detail&aid=1085454&group_id=78018&atid=551954
注掉genpy.py的mbcs编码行是一个临时的解决办法.
(转载请注明来源于 金庆的专栏)