我正在尝试使用COM在python中打开一个excel文件,并尝试捕获找不到的文件错误:
我首先尝试捕获IOError:
try:
output = xl.Workbooks.Open(Params.workbookName)
except IOError as reason:
print reason
exit()
但是当COM找不到文件时,COM不会引发IO错误,而是引发了一个叫做com_error的东西:
com_error:(-2147352567,'例外 发生了。',(0,u'Microsoft Office Excel',u“'asdf.xlsx'不可能 找到。检查文件的拼写 名称,并验证该文件 位置是正确的。\ n \ n如果你是 尝试从列表中打开文件 最近使用的文件,请确保 该文件尚未重命名, 移动或删除。“,u'C:\ Program 文件(x86)\ Microsoft 办公室\ OFFICE12 \ 1033 \ XLMAIN11.CHM”, 0,-2146827284),无)
逻辑上我试过这个:
try:
output = xl.Workbooks.Open(Params.workbookName)
except com_error as reason:
print reason
exit()
但是...
NameError: global name 'ComError' is not defined
答案 0 :(得分:1)
尝试:
from pythoncom import com_error
并在except
块